parent
f0be33810b
commit
80763257ac
@ -0,0 +1,30 @@
|
||||
/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
|
||||
/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
|
||||
/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
|
||||
/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
|
||||
/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
||||
/acor_lt.zip
|
||||
/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
|
||||
/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
|
||||
/libreoffice-artwork-3.2.99.1.tar.bz2
|
||||
/libreoffice-base-3.2.99.1.tar.bz2
|
||||
/libreoffice-bootstrap-3.2.99.1.tar.bz2
|
||||
/libreoffice-calc-3.2.99.1.tar.bz2
|
||||
/libreoffice-components-3.2.99.1.tar.bz2
|
||||
/libreoffice-extensions-3.2.99.1.tar.bz2
|
||||
/libreoffice-extras-3.2.99.1.tar.bz2
|
||||
/libreoffice-filters-3.2.99.1.tar.bz2
|
||||
/libreoffice-help-3.2.99.1.tar.bz2
|
||||
/libreoffice-impress-3.2.99.1.tar.bz2
|
||||
/libreoffice-l10n-3.2.99.1.tar.bz2
|
||||
/libreoffice-libs-core-3.2.99.1.tar.bz2
|
||||
/libreoffice-libs-extern-3.2.99.1.tar.bz2
|
||||
/libreoffice-libs-extern-sys-3.2.99.1.tar.bz2
|
||||
/libreoffice-libs-gui-3.2.99.1.tar.bz2
|
||||
/libreoffice-postprocess-3.2.99.1.tar.bz2
|
||||
/libreoffice-sdk-3.2.99.1.tar.bz2
|
||||
/libreoffice-testing-3.2.99.1.tar.bz2
|
||||
/libreoffice-ure-3.2.99.1.tar.bz2
|
||||
/libreoffice-writer-3.2.99.1.tar.bz2
|
||||
/redhat-langpacks.tar.gz
|
||||
/redhat-registry.tar.gz
|
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0"?>
|
||||
<description xmlns="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dep="http://openoffice.org/extensions/description/2006">
|
||||
<identifier
|
||||
value="@id@"/>
|
||||
|
||||
<dependencies>
|
||||
<OpenOffice.org-minimal-version value="3.0" dep:name="OpenOffice.org 3.0"/>
|
||||
</dependencies>
|
||||
|
||||
<version value="@version@"/>
|
||||
|
||||
<publisher>
|
||||
<name xlink:href="http://openoffice.org" lang="en">OpenOffice.org</name>
|
||||
</publisher>
|
||||
|
||||
<display-name>
|
||||
<name lang="en-US">@display-name@</name>
|
||||
</display-name>
|
||||
|
||||
</description>
|
Binary file not shown.
@ -0,0 +1,113 @@
|
||||
--- a/sysui/util/checksize.pl 2010-09-24 16:35:55.000000000 +0100
|
||||
+++ b/sysui/util/checksize.pl 2010-09-24 16:35:55.000000000 +0100
|
||||
@@ -79,7 +79,7 @@
|
||||
my $file = shift;
|
||||
print "$path$file\n" if ((-e "$path$file") && $is_debug);
|
||||
# don't check dpc,flag,rpmflag,sdf [obj for UNX] files, or etc subdirectory
|
||||
- return if ( ($file =~ /.+\.(dpc|\w*?flag)/) || ($file =~ /.+\.obj/ && $ENV{GUI} eq 'UNX') || ($path =~ /.+etc/) || ($path =~ /.+logs/) || ($path =~ /.+sdf/) );
|
||||
+ return if ( ($file =~ /.+\.(dpc|\w*?flag)/) || ($file =~ /.+\.obj/ && $ENV{GUI} eq 'UNX') || ($path =~ /.+etc/) || ($path =~ /.+logs/) || ($file =~ /.+sdf/) );
|
||||
if ( -z "$path$file" ) {
|
||||
print "Error: $path$file 0 Bytes!\n";
|
||||
$err++;
|
||||
--- a/solenv/inc/postset.mk 2010-09-29 12:55:57.000000000 +0100
|
||||
+++ b/solenv/inc/postset.mk 2010-09-29 12:58:29.000000000 +0100
|
||||
@@ -33,15 +33,13 @@
|
||||
# Complete list of all supported ISO codes
|
||||
completelangiso=af \
|
||||
ar \
|
||||
-as-IN \
|
||||
+as \
|
||||
be-BY \
|
||||
bo \
|
||||
bg \
|
||||
br \
|
||||
brx \
|
||||
bn \
|
||||
-bn-BD \
|
||||
-bn-IN \
|
||||
bs \
|
||||
by \
|
||||
ca \
|
||||
@@ -66,9 +64,8 @@
|
||||
gd \
|
||||
gl \
|
||||
gu \
|
||||
-gu-IN \
|
||||
he \
|
||||
-hi-IN \
|
||||
+hi \
|
||||
hr \
|
||||
hu \
|
||||
is \
|
||||
@@ -92,8 +89,8 @@
|
||||
mn \
|
||||
mni \
|
||||
ms \
|
||||
-ml-IN \
|
||||
-mr-IN \
|
||||
+ml \
|
||||
+mr \
|
||||
my \
|
||||
ne \
|
||||
nb \
|
||||
@@ -103,7 +100,7 @@
|
||||
ns \
|
||||
om \
|
||||
oc \
|
||||
-or-IN \
|
||||
+or \
|
||||
pap \
|
||||
pa-IN \
|
||||
pl \
|
||||
@@ -127,16 +124,16 @@
|
||||
sv \
|
||||
sw \
|
||||
sw-TZ \
|
||||
-te-IN \
|
||||
-ti-ER \
|
||||
-ta-IN \
|
||||
+te \
|
||||
+ti \
|
||||
+ta \
|
||||
th \
|
||||
tn \
|
||||
tr \
|
||||
ts \
|
||||
tg \
|
||||
ug \
|
||||
-ur-IN \
|
||||
+ur \
|
||||
uk \
|
||||
uz \
|
||||
ve \
|
||||
--- a/configure.in Thu Sep 30 12:57:20 2010 +0200
|
||||
+++ a/configure.in Wed Oct 06 09:59:39 2010 +0200
|
||||
@@ -5077,6 +5077,7 @@
|
||||
SYSTEM_REDLAND=NO
|
||||
fi
|
||||
AC_SUBST(SYSTEM_REDLAND)
|
||||
+AC_SUBST(REDLAND_CFLAGS)
|
||||
AC_SUBST(REDLAND_LIBS)
|
||||
|
||||
dnl ===================================================================
|
||||
--- a/set_soenv.in Thu Sep 30 12:57:20 2010 +0200
|
||||
+++ a/set_soenv.in Wed Oct 06 09:59:39 2010 +0200
|
||||
@@ -1917,6 +1917,7 @@
|
||||
ToFile( "USE_XINERAMA", "@USE_XINERAMA@", "e" );
|
||||
ToFile( "XINERAMA_LINK", "@XINERAMA_LINK@", "e" );
|
||||
ToFile( "SYSTEM_REDLAND", "@SYSTEM_REDLAND@", "e" );
|
||||
+ToFile( "REDLAND_CFLAGS", "@REDLAND_CFLAGS@", "e" );
|
||||
ToFile( "REDLAND_LIBS", "@REDLAND_LIBS@", "e" );
|
||||
ToFile( "SYSTEM_HUNSPELL", "@SYSTEM_HUNSPELL@", "e" );
|
||||
ToFile( "HUNSPELL_CFLAGS", "@HUNSPELL_CFLAGS@", "e" );
|
||||
--- a/unoxml/source/rdf/librdf_repository.cxx Thu Sep 30 12:57:20 2010 +0200
|
||||
+++ a/unoxml/source/rdf/librdf_repository.cxx Wed Oct 06 09:59:39 2010 +0200
|
||||
@@ -39,7 +39,7 @@
|
||||
#include <boost/shared_array.hpp>
|
||||
#include <boost/bind.hpp>
|
||||
|
||||
-#include <librdf.h>
|
||||
+#include <redland.h>
|
||||
|
||||
#include <com/sun/star/lang/XServiceInfo.hpp>
|
||||
#include <com/sun/star/lang/XInitialization.hpp>
|
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
OOO_ARCH=$(uname -m)
|
||||
case $OOO_ARCH in
|
||||
x86_64 | s390x | sparc64)
|
||||
OOO_LIB_DIR="/usr/lib64"
|
||||
SECONDARY_LIB_DIR="/usr/lib"
|
||||
;;
|
||||
* )
|
||||
OOO_LIB_DIR="/usr/lib"
|
||||
SECONDARY_LIB_DIR="/usr/lib64"
|
||||
;;
|
||||
esac
|
||||
if [ ! -x $OOO_LIB_DIR/BRAND/program/LAUNCHER ]; then
|
||||
OOO_LIB_DIR="$SECONDARY_LIB_DIR"
|
||||
fi
|
||||
exec $OOO_LIB_DIR/BRAND/program/LAUNCHER "$@"
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
|
||||
<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
|
||||
<manifest:file-entry manifest:media-type="application/vnd.sun.star.uno-component;type=@type@"
|
||||
manifest:full-path="@path@"/>
|
||||
</manifest:manifest>
|
@ -0,0 +1,111 @@
|
||||
diff -r a92d0bd6747b desktop/prj/build.lst
|
||||
--- a/desktop/prj/build.lst Mon Dec 28 16:11:17 2009 +0100
|
||||
+++ b/desktop/prj/build.lst Wed Dec 30 09:34:10 2009 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-dt desktop : l10n sfx2 stoc BERKELEYDB:berkeleydb sysui SO:sysui_so BOOST:boost svx xmlhelp sal unoil officecfg offuh NULL
|
||||
+dt desktop : l10n sfx2 stoc BERKELEYDB:berkeleydb sysui SO:sysui_so BOOST:boost svx xmlhelp sal unoil officecfg offuh sc sd sw NULL
|
||||
dt desktop usr1 - all dt_mkout NULL
|
||||
dt desktop\inc nmake - all dt_inc NULL
|
||||
dt desktop\prj get - all dt_prj NULL
|
||||
diff -r a92d0bd6747b desktop/scripts/soffice.sh
|
||||
--- a/desktop/scripts/soffice.sh Mon Dec 28 16:11:17 2009 +0100
|
||||
+++ b/desktop/scripts/soffice.sh Wed Dec 30 09:34:10 2009 +0100
|
||||
@@ -73,30 +73,26 @@
|
||||
esac
|
||||
done
|
||||
|
||||
-# pagein
|
||||
-sd_pagein_args=@pagein-common
|
||||
for sd_arg in "$@"; do
|
||||
case ${sd_arg} in
|
||||
-calc)
|
||||
- sd_pagein_args="${sd_pagein_args} @pagein-calc"
|
||||
+ sd_binary="scalc.bin"
|
||||
break;
|
||||
;;
|
||||
-draw)
|
||||
- sd_pagein_args="${sd_pagein_args} @pagein-draw"
|
||||
+ sd_binary="sdraw.bin"
|
||||
break;
|
||||
;;
|
||||
-impress)
|
||||
- sd_pagein_args="${sd_pagein_args} @pagein-impress"
|
||||
+ sd_binary="simpress.bin"
|
||||
break;
|
||||
;;
|
||||
-writer)
|
||||
- sd_pagein_args="${sd_pagein_args} @pagein-writer"
|
||||
+ sd_binary="swriter.bin"
|
||||
break;
|
||||
;;
|
||||
esac
|
||||
done
|
||||
-"$sd_prog/../basis-link/program/pagein" -L"$sd_prog/../basis-link/program" \
|
||||
- ${sd_pagein_args}
|
||||
|
||||
# extend the ld_library_path for java: javaldx checks the sofficerc for us
|
||||
if [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then
|
||||
diff -r a92d0bd6747b desktop/util/makefile.mk
|
||||
--- a/desktop/util/makefile.mk Mon Dec 28 16:11:17 2009 +0100
|
||||
+++ b/desktop/util/makefile.mk Wed Dec 30 09:34:10 2009 +0100
|
||||
@@ -192,6 +192,60 @@
|
||||
APP5DEPN= $(APP1TARGETN) $(APP5RES) ooverinfo.rc
|
||||
APP5DEF= $(MISCX)$/$(TARGET).def
|
||||
|
||||
+.IF "$(OS)" == "LINUX"
|
||||
+PRELINKLIBS=$(APP5STDLIBS)
|
||||
+PRELINKLIBS+= \
|
||||
+ $(SVXLIB) \
|
||||
+ $(SVXCORELIB) \
|
||||
+ $(XMLOFFLIB) \
|
||||
+ -lfwl$(DLLPOSTFIX) \
|
||||
+ -lpackage2 \
|
||||
+ -lucpfile1 \
|
||||
+ -lucb1 \
|
||||
+ $(STORELIB) \
|
||||
+ $(REGLIB) \
|
||||
+ -lvclplug_gtk$(DLLPOSTFIX) \
|
||||
+ -lvclplug_gen$(DLLPOSTFIX) \
|
||||
+ $(LNGLIB) \
|
||||
+ $(ICUINLIB)
|
||||
+
|
||||
+APP6TARGET=swriter
|
||||
+APP6NOSAL=TRUE
|
||||
+APP6RPATH=BRAND
|
||||
+APP6OBJS=$(APP5OBJS)
|
||||
+APP6STDLIBS=$(PRELINKLIBS) \
|
||||
+ $(ISWLIB)
|
||||
+APP6DEPN=$(APP5DEPN)
|
||||
+APP6DEF=$(MISCX)$/$(TARGET).def
|
||||
+
|
||||
+APP7TARGET=scalc
|
||||
+APP7NOSAL=TRUE
|
||||
+APP7RPATH=BRAND
|
||||
+APP7OBJS=$(APP5OBJS)
|
||||
+APP7STDLIBS=$(PRELINKLIBS) \
|
||||
+ $(ISCLIB)
|
||||
+APP7DEPN=$(APP5DEPN)
|
||||
+APP7DEF=$(MISCX)$/$(TARGET).def
|
||||
+
|
||||
+APP8TARGET=sdraw
|
||||
+APP8NOSAL=TRUE
|
||||
+APP8RPATH=BRAND
|
||||
+APP8OBJS=$(APP5OBJS)
|
||||
+APP8STDLIBS=$(PRELINKLIBS) \
|
||||
+ $(ISDLIB)
|
||||
+APP8DEPN=$(APP5DEPN)
|
||||
+APP8DEF=$(MISCX)$/$(TARGET).def
|
||||
+
|
||||
+APP9TARGET=simpress
|
||||
+APP9NOSAL=TRUE
|
||||
+APP9RPATH=BRAND
|
||||
+APP9OBJS=$(APP5OBJS)
|
||||
+APP9STDLIBS=$(PRELINKLIBS) \
|
||||
+ $(ISDLIB)
|
||||
+APP9DEPN=$(APP5DEPN)
|
||||
+APP9DEF=$(MISCX)$/$(TARGET).def
|
||||
+.ENDIF
|
||||
+
|
||||
.IF "$(GUI)" == "WNT"
|
||||
APP5RES= $(RES)$/oodesktop.res
|
||||
APP5ICON=$(SOLARRESDIR)$/icons/ooo3_main_app.ico
|
@ -0,0 +1,82 @@
|
||||
--- openoffice.org/officecfg/registry/data/org/openoffice/Office/Writer.xcu.orig 2005-04-18 20:39:35.000000000 +0530
|
||||
+++ openoffice.org/officecfg/registry/data/org/openoffice/Office/Writer.xcu 2005-05-10 17:30:14.000000000 +0530
|
||||
@@ -40,6 +40,32 @@
|
||||
<prop oor:name="IsHideEmptyParagraphs" >
|
||||
<value>true</value>
|
||||
</prop>
|
||||
+ <node oor:name="DataSource">
|
||||
+ <prop oor:name="DataSourceName" oor:type="xs:string">
|
||||
+ <value>EvolutionLocal</value>
|
||||
+ </prop>
|
||||
+ <prop oor:name="DataTableName" oor:type="xs:string">
|
||||
+ <value>Personal</value>
|
||||
+ </prop>
|
||||
+ </node>
|
||||
+ <node oor:name="AddressDataAssignments">
|
||||
+ <node oor:name="_0" oor:op="replace">
|
||||
+ <prop oor:name="DBColumnAssignments" oor:type="oor:string-list">
|
||||
+ <value oor:separator=",">title,full_name,family_name,org,addr_line1,addr_line2,city,state,zip,country,home_phone,business_phone,email_1,</value>
|
||||
+ </prop>
|
||||
+ <node oor:name="DataSource">
|
||||
+ <prop oor:name="DataCommandType" oor:type="xs:short">
|
||||
+ <value>0</value>
|
||||
+ </prop>
|
||||
+ <prop oor:name="DataSourceName" oor:type="xs:string">
|
||||
+ <value>EvolutionLocal</value>
|
||||
+ </prop>
|
||||
+ <prop oor:name="DataTableName" oor:type="xs:string">
|
||||
+ <value>Personal</value>
|
||||
+ </prop>
|
||||
+ </node>
|
||||
+ </node>
|
||||
+ </node>
|
||||
<prop oor:name="EMailSupported">
|
||||
<value>true</value>
|
||||
</prop>
|
||||
--- openoffice.org/extras/source/database/makefile.mk.bakj 2005-03-16 18:49:33.251075928 +0530
|
||||
+++ openoffice.org/extras/source/database/makefile.mk 2005-03-16 18:50:38.651285353 +0530
|
||||
@@ -72,8 +72,8 @@
|
||||
|
||||
ZIP1TARGET = $(DATABASE_USER_TARGET)
|
||||
|
||||
-ZIP1LIST = biblio.odb
|
||||
-
|
||||
+ZIP1LIST = biblio.odb \
|
||||
+ evolocal.odb
|
||||
ZIP2TARGET = $(DATABASE_USER_BIBLIO_TARGET)
|
||||
|
||||
ZIP2LIST = biblio.dbf biblio.dbt
|
||||
--- openoffice.org/officecfg/registry/data/org/openoffice/Office/DataAccess.xcu.bakj 2005-03-16 18:51:43.777536725 +0530
|
||||
+++ openoffice.org/officecfg/registry/data/org/openoffice/Office/DataAccess.xcu 2005-03-16 18:52:51.471404727 +0530
|
||||
@@ -161,6 +161,14 @@
|
||||
<value>Bibliography</value>
|
||||
</prop>
|
||||
</node>
|
||||
+ <node oor:name="EvolutionLocal" oor:op="replace">
|
||||
+ <prop oor:name="Location" oor:type="xs:string">
|
||||
+ <value>$(userurl)/database/evolocal.odb</value>
|
||||
+ </prop>
|
||||
+ <prop oor:name="Name" oor:type="xs:string">
|
||||
+ <value>EvolutionLocal</value>
|
||||
+ </prop>
|
||||
+ </node>
|
||||
</node>
|
||||
<node oor:name="Bibliography">
|
||||
<node oor:name="CurrentDataSource">
|
||||
--- openoffice.org.orig/extensions/source/abpilot/abspilot.cxx 19 Dec 2005 17:26:24 -0000 1.13
|
||||
+++ openoffice.org/extensions/source/abpilot/abspilot.cxx 16 Feb 2006 12:45:38 -0000
|
||||
@@ -124,12 +124,8 @@
|
||||
// some initial settings
|
||||
#ifdef MACOSX
|
||||
m_aSettings.eType = AST_MACAB;
|
||||
-#elif WITH_MOZILLA
|
||||
-#ifdef UNX
|
||||
- m_aSettings.eType = AST_MORK;
|
||||
-#else
|
||||
- m_aSettings.eType = AST_OE;
|
||||
-#endif
|
||||
+#elif UNX
|
||||
+ m_aSettings.eType = AST_EVOLUTION;
|
||||
#else
|
||||
m_aSettings.eType = AST_OTHER;
|
||||
#endif
|
@ -0,0 +1,15 @@
|
||||
Index: configuration/ppds/SGENPRT.PS
|
||||
===================================================================
|
||||
RCS file: /cvs/external/psprint_config/configuration/ppds/SGENPRT.PS,v
|
||||
retrieving revision 1.3
|
||||
diff -u -p -u -r1.3 SGENPRT.PS
|
||||
--- openoffice.org.orig/psprint_config/configuration/ppds/SGENPRT.PS 26 Nov 2004 16:10:35 -0000 1.3
|
||||
+++ openoffice.org/psprint_config/configuration/ppds/SGENPRT.PS 30 Aug 2005 11:17:51 -0000
|
||||
@@ -58,6 +58,7 @@
|
||||
*ColorDevice: True
|
||||
*DefaultColorSpace: RGB
|
||||
*LanguageLevel: "2"
|
||||
+*TTRasterizer: Type42
|
||||
|
||||
*% --- For None Color or old PostScript(R) printers use following lines ---
|
||||
*% *ColorDevice: False
|
@ -0,0 +1,53 @@
|
||||
--- solenv/bin/modules/installer/globals.pm 2010-05-25 21:01:11.000000000 +0100
|
||||
+++ solenv/bin/modules/installer/globals.pm 2010-05-27 08:01:11.000000000 +0100
|
||||
@@ -404,8 +404,8 @@
|
||||
%usedtreeconditions = ();
|
||||
%moduledestination = ();
|
||||
|
||||
- $unomaxservices = 1800; # regcomp -c argument length
|
||||
- $javamaxservices = 15;
|
||||
+ $unomaxservices = 1; # regcomp -c argument length
|
||||
+ $javamaxservices = 1;
|
||||
|
||||
$one_cab_file = 0;
|
||||
$fix_number_of_cab_files = 1;
|
||||
--- solenv/bin/modules/installer/servicesfile.pm 2010-05-25 21:01:11.000000000 +0100
|
||||
+++ solenv/bin/modules/installer/servicesfile.pm 2010-06-10 09:07:46.000000000 +0100
|
||||
@@ -222,17 +231,31 @@
|
||||
if ( $i % $installer::globals::javamaxservices == 0 || $i > $#{$javacomponents} ) # limiting to $installer::globals::maxservices files
|
||||
{
|
||||
my @regcompoutput = ();
|
||||
+ my @throwregcompoutput = ();
|
||||
|
||||
my $systemcall = "$installer::globals::wrapcmd $$regcompfileref -register -br ".fix_cygwin_path($regcomprdb)." -r ".fix_cygwin_path($servicesfile)." -c " . $installer::globals::quote . $filestring . $installer::globals::quote . " -l com.sun.star.loader.Java2 -wop=" . $installer::globals::quote . $javaservicesurlprefix . $installer::globals::quote ." -env:URE_INTERNAL_JAVA_DIR=" . $installer::globals::quote . make_file_url($$ure_internal_java_dir_ref) . $installer::globals::quote . " 2\>\&1 |";
|
||||
|
||||
- open (REG, "$systemcall");
|
||||
- while (<REG>) {push(@regcompoutput, $_); }
|
||||
- close (REG);
|
||||
+ my $returnvalue = 1;
|
||||
+ my $infoline = "Systemcall: $systemcall\n";
|
||||
|
||||
- my $returnvalue = $?; # $? contains the return value of the systemcall
|
||||
+ for ( my $j = 0; $j <= 10; $j++) {
|
||||
+ open (REG, "$systemcall");
|
||||
+ while (<REG>) {push(@throwregcompoutput, $_); }
|
||||
+ close (REG);
|
||||
+
|
||||
+ $returnvalue = $?; # $? contains the return value of the systemcall
|
||||
|
||||
- my $infoline = "Systemcall: $systemcall\n";
|
||||
- push( @installer::globals::logfileinfo, $infoline);
|
||||
+ push( @installer::globals::logfileinfo, $infoline);
|
||||
+
|
||||
+ if ($returnvalue == 0) {
|
||||
+ last;
|
||||
+ }
|
||||
+
|
||||
+ $infoline = "RATS: attempt $j: $systemcall\n";
|
||||
+ push( @installer::globals::logfileinfo, $infoline);
|
||||
+ }
|
||||
+
|
||||
+ $regcompoutput = $throwregcompoutput;
|
||||
|
||||
for ( my $k = 0; $k <= $#regcompoutput; $k++ ) { push( @installer::globals::logfileinfo, "$regcompoutput[$k]"); }
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,13 @@
|
||||
diff -ru svtools.orig/source/svhtml/parhtml.cxx svtools/source/svhtml/parhtml.cxx
|
||||
--- svtools.orig/source/svhtml/parhtml.cxx 2010-07-14 11:11:17.000000000 +0100
|
||||
+++ svtools/source/svhtml/parhtml.cxx 2010-07-14 11:16:29.000000000 +0100
|
||||
@@ -323,6 +323,9 @@
|
||||
bReadComment = FALSE;
|
||||
bIsInHeader = TRUE;
|
||||
pOptions = new HTMLOptions;
|
||||
+
|
||||
+ //#i76649, default to UTF-8 for HTML unless we know differently
|
||||
+ SetSrcEncoding(RTL_TEXTENCODING_UTF8);
|
||||
}
|
||||
|
||||
HTMLParser::~HTMLParser()
|
@ -0,0 +1,47 @@
|
||||
--- openoffice.org.orig/desktop/scripts/unopkg.sh 2008-01-14 15:55:26.000000000 +0000
|
||||
+++ openoffice.org/desktop/scripts/unopkg.sh 2008-02-14 10:52:10.000000000 +0000
|
||||
@@ -43,6 +43,33 @@
|
||||
sd_prog=`pwd`
|
||||
cd "$sd_cwd"
|
||||
|
||||
+isshared=0
|
||||
+for arg in $@
|
||||
+do
|
||||
+if [ "$arg" = "--shared" ]; then
|
||||
+ isshared=1
|
||||
+fi
|
||||
+done
|
||||
+if [ $isshared -eq 1 ]; then
|
||||
+ echo $@ | grep -q env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY
|
||||
+ if [ $? -ne 0 ]; then
|
||||
+ set -- $@ '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
|
||||
+ fi
|
||||
+ echo $@ | grep -q env:UNO_JAVA_JFW_INSTALL_DATA
|
||||
+ if [ $? -ne 0 -a -w $sd_prog/../share/config/javasettingsunopkginstall.xml ]; then
|
||||
+ set -- $@ '-env:UNO_JAVA_JFW_INSTALL_DATA=$$ORIGIN/../share/config/javasettingsunopkginstall.xml'
|
||||
+ fi
|
||||
+ echo $@ | grep -q env:UserInstallation
|
||||
+ if [ $? -ne 0 ]; then
|
||||
+ INSTDIR=`/bin/mktemp -d --tmpdir unoinstall.XXXXXX`
|
||||
+ if [ $? -ne 0 ]; then
|
||||
+ echo "Could not create tmp dir" >&2
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ set -- $@ '-env:UserInstallation=file://'$INSTDIR
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
#collect all bootstrap variables specified on the command line
|
||||
#so that they can be passed as arguments to javaldx later on
|
||||
for arg in $@
|
||||
@@ -71,6 +98,8 @@
|
||||
# SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS
|
||||
|
||||
# execute binary
|
||||
-exec "$sd_prog/unopkg.bin" "$@" \
|
||||
+"$sd_prog/unopkg.bin" "$@" \
|
||||
"-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"
|
||||
-
|
||||
+if [ -n "$INSTDIR" ]; then
|
||||
+ rm -rf $INSTDIR
|
||||
+fi
|
@ -0,0 +1,102 @@
|
||||
Index: source/ui/inc/output.hxx
|
||||
===================================================================
|
||||
RCS file: /cvs/sc/sc/source/ui/inc/output.hxx,v
|
||||
retrieving revision 1.19
|
||||
diff -u -r1.19 output.hxx
|
||||
--- openoffice.org.orig/sc/source/ui/inc/output.hxx 26 Jun 2007 11:50:45 -0000 1.19
|
||||
+++ openoffice.org/sc/source/ui/inc/output.hxx 16 Apr 2008 12:05:59 -0000
|
||||
@@ -242,6 +242,7 @@
|
||||
void DrawExtraShadow(BOOL bLeft, BOOL bTop, BOOL bRight, BOOL bBottom);
|
||||
void DrawFrame();
|
||||
|
||||
+ bool UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet);
|
||||
// with logic MapMode set!
|
||||
void DrawEdit(BOOL bPixelToLogic);
|
||||
|
||||
Index: source/ui/view/output2.cxx
|
||||
===================================================================
|
||||
RCS file: /cvs/sc/sc/source/ui/view/output2.cxx,v
|
||||
retrieving revision 1.54.216.1
|
||||
diff -u -r1.54.216.1 output2.cxx
|
||||
--- openoffice.org.orig/sc/source/ui/view/output2.cxx 18 Jan 2008 12:02:36 -0000 1.54.216.1
|
||||
+++ openoffice.org/sc/source/ui/view/output2.cxx 16 Apr 2008 12:19:34 -0000
|
||||
@@ -1907,6 +1907,21 @@
|
||||
}
|
||||
}
|
||||
|
||||
+bool ScOutputData::UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet)
|
||||
+{
|
||||
+ bool bNormalClip = false;
|
||||
+ // Don't clip for text height when printing rows with optimal height,
|
||||
+ // except when font size is from conditional formatting.
|
||||
+ //! Allow clipping when vertically merged?
|
||||
+ if ( eType != OUTTYPE_PRINTER ||
|
||||
+ ( pDoc->GetRowFlags( nCellY, nTab ) & CR_MANUALSIZE ) ||
|
||||
+ ( pCondSet && SFX_ITEM_SET ==
|
||||
+ pCondSet->GetItemState(ATTR_FONT_HEIGHT, TRUE) ) )
|
||||
+ bNormalClip = TRUE;
|
||||
+ return bNormalClip;
|
||||
+}
|
||||
+
|
||||
+
|
||||
void ScOutputData::DrawEdit(BOOL bPixelToLogic)
|
||||
{
|
||||
vcl::PDFExtOutDevData* pPDFData = PTR_CAST( vcl::PDFExtOutDevData, pDev->GetExtOutDevData() );
|
||||
@@ -2524,13 +2539,8 @@
|
||||
(ScMergeAttr*)&pPattern->GetItem(ATTR_MERGE);
|
||||
BOOL bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
|
||||
|
||||
- // Don't clip for text height when printing rows with optimal height,
|
||||
- // except when font size is from conditional formatting.
|
||||
- //! Allow clipping when vertically merged?
|
||||
- if ( eType != OUTTYPE_PRINTER ||
|
||||
- ( pDoc->GetRowFlags( nCellY, nTab ) & CR_MANUALSIZE ) ||
|
||||
- ( pCondSet && SFX_ITEM_SET ==
|
||||
- pCondSet->GetItemState(ATTR_FONT_HEIGHT, TRUE) ) )
|
||||
+
|
||||
+ if (UseNormalClip(nCellY, pCondSet))
|
||||
bClip = TRUE;
|
||||
else
|
||||
bSimClip = TRUE;
|
||||
@@ -2580,6 +2590,18 @@
|
||||
#endif
|
||||
|
||||
Rectangle aLogicClip;
|
||||
+ if (
|
||||
+ ((nAttrRotate == 9000) || (nAttrRotate == 27000)) &&
|
||||
+ (!(eOrient==SVX_ORIENTATION_STANDARD && !bAsianVertical)) &&
|
||||
+ (!(bClip || bSimClip))
|
||||
+ )
|
||||
+ {
|
||||
+ if (UseNormalClip(nCellY, pCondSet))
|
||||
+ bClip = TRUE;
|
||||
+ else
|
||||
+ bSimClip = TRUE;
|
||||
+ }
|
||||
+
|
||||
if (bClip || bSimClip)
|
||||
{
|
||||
// Clip marks are already handled in GetOutputArea
|
||||
@@ -2635,10 +2657,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
+ long nDiff = 0;
|
||||
if (eHorJust==SVX_HOR_JUSTIFY_RIGHT)
|
||||
- aLogicStart.X() += nAvailWidth - nEngineWidth;
|
||||
+ nDiff = nAvailWidth - nEngineWidth;
|
||||
else if (eHorJust==SVX_HOR_JUSTIFY_CENTER)
|
||||
- aLogicStart.X() += (nAvailWidth - nEngineWidth) / 2;
|
||||
+ nDiff = (nAvailWidth - nEngineWidth) / 2;
|
||||
+
|
||||
+ if (nEngineWidth > nAvailWidth)
|
||||
+ {
|
||||
+ if (nAttrRotate == 9000)
|
||||
+ nDiff = 0;
|
||||
+ else if (nAttrRotate == 27000)
|
||||
+ nDiff = nAvailWidth - nEngineWidth;
|
||||
+ }
|
||||
+ aLogicStart.X() += nDiff;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,174 @@
|
||||
Index: ucbhelper/source/client/content.cxx
|
||||
===================================================================
|
||||
--- ucbhelper/source/client/content.cxx (revision 270567)
|
||||
+++ ucbhelper/source/client/content.cxx (working copy)
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <cppuhelper/weak.hxx>
|
||||
|
||||
#include <cppuhelper/implbase1.hxx>
|
||||
+#include <com/sun/star/beans/PropertyValue.hpp>
|
||||
#include <com/sun/star/ucb/ContentCreationError.hpp>
|
||||
#include <com/sun/star/ucb/XCommandEnvironment.hpp>
|
||||
#include <com/sun/star/ucb/XCommandInfo.hpp>
|
||||
@@ -48,6 +49,8 @@
|
||||
#include <com/sun/star/ucb/ContentAction.hpp>
|
||||
#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
|
||||
#include <com/sun/star/ucb/InsertCommandArgument.hpp>
|
||||
+#include <com/sun/star/ucb/IOErrorCode.hpp>
|
||||
+#include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
|
||||
#include <com/sun/star/ucb/GlobalTransferCommandArgument.hpp>
|
||||
#include <com/sun/star/ucb/NameClash.hpp>
|
||||
#include <com/sun/star/ucb/OpenMode.hpp>
|
||||
@@ -65,6 +68,8 @@
|
||||
#include <com/sun/star/sdbc/XRow.hpp>
|
||||
#include <com/sun/star/lang/IllegalArgumentException.hpp>
|
||||
#include <com/sun/star/beans/UnknownPropertyException.hpp>
|
||||
+#include <com/sun/star/task/XInteractionRequest.hpp>
|
||||
+
|
||||
#include <ucbhelper/macros.hxx>
|
||||
#include <ucbhelper/content.hxx>
|
||||
#include <ucbhelper/contentbroker.hxx>
|
||||
@@ -72,6 +77,10 @@
|
||||
#include <ucbhelper/activedatastreamer.hxx>
|
||||
#include <ucbhelper/interactionrequest.hxx>
|
||||
#include <ucbhelper/cancelcommandexecution.hxx>
|
||||
+#include <ucbhelper/fileidentifierconverter.hxx>
|
||||
+#include <ucbhelper/simpleinteractionrequest.hxx>
|
||||
+
|
||||
+#include <memory>
|
||||
|
||||
using namespace com::sun::star::container;
|
||||
using namespace com::sun::star::beans;
|
||||
@@ -375,6 +384,54 @@
|
||||
return Reference< XContent >();
|
||||
}
|
||||
|
||||
+namespace
|
||||
+{
|
||||
+
|
||||
+void
|
||||
+lcl_displayMessage(
|
||||
+ const Reference<XCommandEnvironment>& rEnvironment,
|
||||
+ const rtl::OUString& rUri)
|
||||
+{
|
||||
+ // Create exception
|
||||
+ const Reference<XContentProviderManager> xCPM(
|
||||
+ getContentBroker(true)->getContentProviderManagerInterface());
|
||||
+ const PropertyValue aUriProperty(
|
||||
+ rtl::OUString::createFromAscii("Uri"),
|
||||
+ -1,
|
||||
+ makeAny(getSystemPathFromFileURL(xCPM, rUri)),
|
||||
+ PropertyState_DIRECT_VALUE)
|
||||
+ ;
|
||||
+ Sequence<Any> lArguments(1);
|
||||
+ lArguments[0] <<= aUriProperty;
|
||||
+ const InteractiveAugmentedIOException xError(
|
||||
+ rtl::OUString(),
|
||||
+ 0,
|
||||
+ InteractionClassification_ERROR,
|
||||
+ IOErrorCode_NO_FILE,
|
||||
+ lArguments)
|
||||
+ ;
|
||||
+
|
||||
+ // Create interaction request
|
||||
+ std::auto_ptr<ucbhelper::SimpleInteractionRequest> aRequest(
|
||||
+ new ucbhelper::SimpleInteractionRequest(makeAny(xError), CONTINUATION_APPROVE));
|
||||
+ {
|
||||
+ Reference<XInteractionContinuation> xContinuation(
|
||||
+ new ::ucbhelper::InteractionApprove(aRequest.get()));
|
||||
+ Sequence<Reference<XInteractionContinuation> > lContinuations(1);
|
||||
+ lContinuations[0].set(xContinuation);
|
||||
+ aRequest->setContinuations(lContinuations);
|
||||
+ }
|
||||
+
|
||||
+ Reference<XInteractionHandler> xInteraction(rEnvironment->getInteractionHandler());
|
||||
+ if (xInteraction.is())
|
||||
+ {
|
||||
+ Reference<XInteractionRequest> xRequest(aRequest.release());
|
||||
+ xInteraction->handle(xRequest);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+}
|
||||
+
|
||||
//=========================================================================
|
||||
//=========================================================================
|
||||
//
|
||||
@@ -1186,7 +1243,10 @@
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XInputStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataSink > xSink = new ActiveDataSink;
|
||||
|
||||
@@ -1211,7 +1271,10 @@
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XInputStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataSink > xSink = new ActiveDataSink;
|
||||
|
||||
@@ -1236,7 +1299,10 @@
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataStreamer > xStreamer = new ActiveDataStreamer;
|
||||
|
||||
@@ -1261,7 +1327,10 @@
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getEnvironment(), getURL());
|
||||
return Reference< XStream >();
|
||||
+ }
|
||||
|
||||
Reference< XActiveDataStreamer > xStreamer = new ActiveDataStreamer;
|
||||
|
||||
@@ -1286,7 +1355,10 @@
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getEnvironment(), getURL());
|
||||
return sal_False;
|
||||
+ }
|
||||
|
||||
OpenCommandArgument2 aArg;
|
||||
aArg.Mode = OpenMode::DOCUMENT;
|
||||
@@ -1309,7 +1381,10 @@
|
||||
throw( CommandAbortedException, RuntimeException, Exception )
|
||||
{
|
||||
if ( !isDocument() )
|
||||
+ {
|
||||
+ lcl_displayMessage(m_xImpl->getEnvironment(), getURL());
|
||||
return sal_False;
|
||||
+ }
|
||||
|
||||
OpenCommandArgument2 aArg;
|
||||
aArg.Mode = OpenMode::DOCUMENT;
|
||||
Index: comphelper/source/misc/mediadescriptor.cxx
|
||||
===================================================================
|
||||
--- comphelper/source/misc/stillreadwriteinteraction.cxx 2010-07-06 15:32:02.000000000 +0100
|
||||
+++ comphelper/source/misc/stillreadwriteinteraction.cxx 2010-07-06 15:32:31.000000000 +0100
|
||||
@@ -103,6 +103,7 @@
|
||||
bAbort = (
|
||||
(exIO.Code == css::ucb::IOErrorCode_ACCESS_DENIED )
|
||||
|| (exIO.Code == css::ucb::IOErrorCode_LOCKING_VIOLATION )
|
||||
+ || (exIO.Code == css::ucb::IOErrorCode_NO_FILE )
|
||||
|| (exIO.Code == css::ucb::IOErrorCode_NOT_EXISTING )
|
||||
#ifdef MACOSX
|
||||
// this is a workaround for MAC, on this platform if the file is locked
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,23 @@
|
||||
Index: source/filter/ww8/wrtw8sty.cxx
|
||||
===================================================================
|
||||
RCS file: /cvs/sw/sw/source/filter/ww8/wrtw8sty.cxx,v
|
||||
retrieving revision 1.49.44.2
|
||||
diff -u -r1.49.44.2 wrtw8sty.cxx
|
||||
--- openoffice.org.orig/sw/source/filter/ww8/wrtw8sty.cxx 12 Dec 2008 11:11:33 -0000 1.49.44.2
|
||||
+++ openoffice.org/sw/source/filter/ww8/wrtw8sty.cxx 9 Apr 2009 12:02:50 -0000
|
||||
@@ -621,7 +621,14 @@
|
||||
|
||||
ShortToSVBT16( 400, &maWW8_FFN[2] ); // weiss ich nicht besser
|
||||
// 400 == FW_NORMAL (windows.h)
|
||||
- maWW8_FFN[4] = sw::ms::rtl_TextEncodingToWinCharset(eChrSet);
|
||||
+ //
|
||||
+ //#i61927# For unicode fonts like Arial Unicode, Word 97+ sets the chs
|
||||
+ //to SHIFTJIS presumably to capture that it's a multi-byte encoding font
|
||||
+ //but Word95 doesn't do this, and sets it to 0 (ANSI), so we should do the
|
||||
+ //same
|
||||
+ maWW8_FFN[4] = bWrtWW8 ?
|
||||
+ sw::ms::rtl_TextEncodingToWinCharset(eChrSet) :
|
||||
+ rtl_getBestWindowsCharsetFromTextEncoding(eChrSet);
|
||||
|
||||
if (mbAlt)
|
||||
maWW8_FFN[5] = static_cast< BYTE >(msFamilyNm.Len() + 1);
|
@ -0,0 +1,64 @@
|
||||
Index: bin/modules/installer/scriptitems.pm
|
||||
===================================================================
|
||||
RCS file: /cvs/tools/solenv/bin/modules/installer/scriptitems.pm,v
|
||||
retrieving revision 1.17
|
||||
diff -u -p -r1.17 scriptitems.pm
|
||||
--- openoffice.org.orig/solenv/bin/modules/installer/scriptitems.pm 24 Feb 2005 16:21:15 -0000 1.17
|
||||
+++ openoffice.org/solenv/bin/modules/installer/scriptitems.pm 18 Mar 2005 22:39:42 -0000
|
||||
@@ -1077,7 +1077,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- $infoline = "ERROR: Source for $$searchfilenameref not found!\n"; # Important message in log file
|
||||
+ $infoline = "WARNING: Source for $$searchfilenameref not found!\n"; # Important message in log file
|
||||
}
|
||||
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
@@ -1155,7 +1155,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- $infoline = "ERROR: Source for $$searchfilenameref not found!\n"; # Important message in log file
|
||||
+ $infoline = "WARNING: Source for $$searchfilenameref not found!\n"; # Important message in log file
|
||||
}
|
||||
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
@@ -1371,11 +1371,10 @@
|
||||
|
||||
if ( ! $installer::globals::languagepack )
|
||||
{
|
||||
- $infoline = "ERROR: Removing file $filename from file list.\n";
|
||||
+ $infoline = "WARNING: Removing file $filename from file list.\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
|
||||
- push(@missingfiles, "ERROR: File not found: $filename\n");
|
||||
- $error_occured = 1;
|
||||
+ push(@missingfiles, "WARNING: File not found: $filename\n");
|
||||
|
||||
next; # removing this file from list, if sourcepath is empty
|
||||
}
|
||||
@@ -1383,11 +1382,10 @@
|
||||
{
|
||||
if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCELANGUAGEPACK\b/ ))
|
||||
{
|
||||
- $infoline = "ERROR: Removing file $filename from file list.\n";
|
||||
+ $infoline = "WARNING: Removing file $filename from file list.\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
|
||||
- push(@missingfiles, "ERROR: File not found: $filename\n");
|
||||
- $error_occured = 1;
|
||||
+ push(@missingfiles, "WARNING: File not found: $filename\n");
|
||||
|
||||
next; # removing this file from list, if sourcepath is empty
|
||||
}
|
||||
--- openoffice.org.orig/solenv/bin/modules/installer/simplepackage.pm 2010-07-12 10:27:26.000000000 +0100
|
||||
+++ openoffice.org/solenv/bin/modules/installer/simplepackage.pm 2010-07-12 10:27:54.000000000 +0100
|
||||
@@ -53,7 +53,7 @@
|
||||
( $installer::globals::packageformat eq "archive" ))
|
||||
{
|
||||
$installer::globals::is_simple_packager_project = 1;
|
||||
- $installer::globals::patch_user_dir = 1;
|
||||
+ $installer::globals::patch_user_dir = 0;
|
||||
}
|
||||
elsif( $installer::globals::packageformat eq "dmg" )
|
||||
{
|
@ -0,0 +1,189 @@
|
||||
diff -ru vcl.orig/unx/source/fontmanager/fontconfig.cxx vcl/unx/source/fontmanager/fontconfig.cxx
|
||||
--- vcl.orig/unx/source/fontmanager/fontconfig.cxx 2009-10-08 13:25:00.000000000 +0100
|
||||
+++ vcl/unx/source/fontmanager/fontconfig.cxx 2009-10-08 13:51:51.000000000 +0100
|
||||
@@ -80,6 +80,9 @@
|
||||
|
||||
#include "sal/alloca.h"
|
||||
|
||||
+#include <i18nutil/unicode.hxx> //unicode::getUnicodeScriptType
|
||||
+#include <com/sun/star/i18n/ScriptType.hdl> //ScriptType
|
||||
+
|
||||
#include <utility>
|
||||
#include <algorithm>
|
||||
|
||||
@@ -907,6 +910,138 @@
|
||||
}
|
||||
}
|
||||
|
||||
+static const char* pick_sample_language(const sal_uInt32 cCode)
|
||||
+{
|
||||
+ using namespace ::com::sun::star::i18n;
|
||||
+
|
||||
+ static ScriptTypeList aScripts[] =
|
||||
+ {
|
||||
+ { UnicodeScript_kBasicLatin, UnicodeScript_kBasicLatin, UnicodeScript_kBasicLatin },
|
||||
+ { UnicodeScript_kLatin1Supplement, UnicodeScript_kLatin1Supplement, UnicodeScript_kLatin1Supplement },
|
||||
+ { UnicodeScript_kLatinExtendedA, UnicodeScript_kLatinExtendedA, UnicodeScript_kLatinExtendedA },
|
||||
+ { UnicodeScript_kLatinExtendedB, UnicodeScript_kLatinExtendedB, UnicodeScript_kLatinExtendedB },
|
||||
+ { UnicodeScript_kGreek, UnicodeScript_kGreek, UnicodeScript_kGreek },
|
||||
+ { UnicodeScript_kCyrillic, UnicodeScript_kCyrillic, UnicodeScript_kCyrillic },
|
||||
+ { UnicodeScript_kArmenian, UnicodeScript_kArmenian, UnicodeScript_kArmenian },
|
||||
+ { UnicodeScript_kHebrew, UnicodeScript_kHebrew, UnicodeScript_kHebrew },
|
||||
+ { UnicodeScript_kArabic, UnicodeScript_kArabic, UnicodeScript_kArabic },
|
||||
+ { UnicodeScript_kSyriac, UnicodeScript_kSyriac, UnicodeScript_kSyriac },
|
||||
+ { UnicodeScript_kThaana, UnicodeScript_kThaana, UnicodeScript_kThaana },
|
||||
+ { UnicodeScript_kDevanagari, UnicodeScript_kDevanagari, UnicodeScript_kDevanagari },
|
||||
+ { UnicodeScript_kBengali, UnicodeScript_kBengali, UnicodeScript_kBengali },
|
||||
+ { UnicodeScript_kGurmukhi, UnicodeScript_kGurmukhi, UnicodeScript_kGurmukhi },
|
||||
+ { UnicodeScript_kGujarati, UnicodeScript_kGujarati, UnicodeScript_kGujarati },
|
||||
+ { UnicodeScript_kOriya, UnicodeScript_kOriya, UnicodeScript_kOriya },
|
||||
+ { UnicodeScript_kTamil, UnicodeScript_kTamil, UnicodeScript_kTamil },
|
||||
+ { UnicodeScript_kTelugu, UnicodeScript_kTelugu, UnicodeScript_kTelugu },
|
||||
+ { UnicodeScript_kKannada, UnicodeScript_kKannada, UnicodeScript_kKannada },
|
||||
+ { UnicodeScript_kMalayalam, UnicodeScript_kMalayalam, UnicodeScript_kMalayalam },
|
||||
+ { UnicodeScript_kSinhala, UnicodeScript_kSinhala, UnicodeScript_kSinhala },
|
||||
+ { UnicodeScript_kThai, UnicodeScript_kThai, UnicodeScript_kThai },
|
||||
+ { UnicodeScript_kLao, UnicodeScript_kLao, UnicodeScript_kLao },
|
||||
+ { UnicodeScript_kTibetan, UnicodeScript_kTibetan, UnicodeScript_kTibetan },
|
||||
+ { UnicodeScript_kMyanmar, UnicodeScript_kMyanmar, UnicodeScript_kMyanmar },
|
||||
+ { UnicodeScript_kGeorgian, UnicodeScript_kGeorgian, UnicodeScript_kGeorgian },
|
||||
+ { UnicodeScript_kHangulJamo, UnicodeScript_kHangulJamo, UnicodeScript_kHangulJamo },
|
||||
+ { UnicodeScript_kEthiopic, UnicodeScript_kEthiopic, UnicodeScript_kEthiopic },
|
||||
+ { UnicodeScript_kCherokee, UnicodeScript_kCherokee, UnicodeScript_kCherokee },
|
||||
+ { UnicodeScript_kUnifiedCanadianAboriginalSyllabics,
|
||||
+ UnicodeScript_kUnifiedCanadianAboriginalSyllabics,
|
||||
+ UnicodeScript_kUnifiedCanadianAboriginalSyllabics },
|
||||
+ { UnicodeScript_kKhmer, UnicodeScript_kKhmer, UnicodeScript_kKhmer },
|
||||
+ { UnicodeScript_kMongolian, UnicodeScript_kMongolian, UnicodeScript_kMongolian },
|
||||
+ { UnicodeScript_kLatinExtendedAdditional, UnicodeScript_kLatinExtendedAdditional,
|
||||
+ UnicodeScript_kLatinExtendedAdditional },
|
||||
+ { UnicodeScript_kGreekExtended, UnicodeScript_kGreekExtended, UnicodeScript_kGreekExtended },
|
||||
+ { UnicodeScript_kHiragana, UnicodeScript_kHiragana, UnicodeScript_kHiragana },
|
||||
+ { UnicodeScript_kKatakana, UnicodeScript_kKatakana, UnicodeScript_kKatakana },
|
||||
+ { UnicodeScript_kHangulCompatibilityJamo, UnicodeScript_kHangulCompatibilityJamo,
|
||||
+ UnicodeScript_kHangulCompatibilityJamo },
|
||||
+ { UnicodeScript_kHangulSyllable, UnicodeScript_kHangulSyllable,
|
||||
+ UnicodeScript_kHangulSyllable },
|
||||
+ { UnicodeScript_kArabicPresentationB, UnicodeScript_kArabicPresentationB,
|
||||
+ UnicodeScript_kArabicPresentationB },
|
||||
+ { UnicodeScript_kScriptCount, UnicodeScript_kScriptCount, UnicodeScript_kScriptCount }
|
||||
+ };
|
||||
+
|
||||
+ switch (unicode::getUnicodeScriptType(cCode, aScripts, UnicodeScript_kScriptCount))
|
||||
+ {
|
||||
+ case UnicodeScript_kBasicLatin:
|
||||
+ case UnicodeScript_kLatin1Supplement:
|
||||
+ case UnicodeScript_kLatinExtendedA:
|
||||
+ case UnicodeScript_kLatinExtendedB:
|
||||
+ case UnicodeScript_kLatinExtendedAdditional:
|
||||
+ return "en";
|
||||
+ case UnicodeScript_kGreek:
|
||||
+ case UnicodeScript_kGreekExtended:
|
||||
+ return "el";
|
||||
+ case UnicodeScript_kCyrillic:
|
||||
+ return "ru";
|
||||
+ case UnicodeScript_kArmenian:
|
||||
+ return "hy";
|
||||
+ case UnicodeScript_kHebrew:
|
||||
+ return "he";
|
||||
+ case UnicodeScript_kArabic:
|
||||
+ case UnicodeScript_kArabicPresentationB:
|
||||
+ return "ar";
|
||||
+ case UnicodeScript_kSyriac:
|
||||
+ return "syr";
|
||||
+ case UnicodeScript_kThaana:
|
||||
+ return "dv";
|
||||
+ case UnicodeScript_kDevanagari:
|
||||
+ return "hi";
|
||||
+ case UnicodeScript_kBengali:
|
||||
+ return "bn";
|
||||
+ case UnicodeScript_kGurmukhi:
|
||||
+ return "pa";
|
||||
+ case UnicodeScript_kGujarati:
|
||||
+ return "gu";
|
||||
+ case UnicodeScript_kOriya:
|
||||
+ return "or";
|
||||
+ case UnicodeScript_kTamil:
|
||||
+ return "ta";
|
||||
+ case UnicodeScript_kTelugu:
|
||||
+ return "te";
|
||||
+ case UnicodeScript_kKannada:
|
||||
+ return "ka";
|
||||
+ case UnicodeScript_kMalayalam:
|
||||
+ return "ml";
|
||||
+ case UnicodeScript_kSinhala:
|
||||
+ return "si";
|
||||
+ case UnicodeScript_kThai:
|
||||
+ return "th";
|
||||
+ case UnicodeScript_kLao:
|
||||
+ return "lo";
|
||||
+ case UnicodeScript_kTibetan:
|
||||
+ return "bo";
|
||||
+ case UnicodeScript_kMyanmar:
|
||||
+ return "my";
|
||||
+ case UnicodeScript_kGeorgian:
|
||||
+ return "ka";
|
||||
+ case UnicodeScript_kHangulJamo:
|
||||
+ case UnicodeScript_kHangulCompatibilityJamo:
|
||||
+ case UnicodeScript_kHangulSyllable:
|
||||
+ return "ko";
|
||||
+ case UnicodeScript_kEthiopic:
|
||||
+ return "am";
|
||||
+ case UnicodeScript_kCherokee:
|
||||
+ return "chr";
|
||||
+ case UnicodeScript_kUnifiedCanadianAboriginalSyllabics:
|
||||
+ return "ui";
|
||||
+ case UnicodeScript_kKhmer:
|
||||
+ return "km";
|
||||
+ case UnicodeScript_kMongolian:
|
||||
+ return "mn";
|
||||
+ case UnicodeScript_kHiragana:
|
||||
+ case UnicodeScript_kKatakana:
|
||||
+ return "ja";
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
rtl::OUString PrintFontManager::Substitute(const rtl::OUString& rFontName,
|
||||
rtl::OUString& rMissingCodes, const rtl::OString &rLangAttrib,
|
||||
italic::type &rItalic, weight::type &rWeight,
|
||||
@@ -928,8 +1063,6 @@
|
||||
rWrapper.FcPatternAddString( pPattern, FC_FAMILY, pTargetNameUtf8 );
|
||||
|
||||
const FcChar8* pLangAttribUtf8 = (FcChar8*)rLangAttrib.getStr();
|
||||
- if( rLangAttrib.getLength() )
|
||||
- rWrapper.FcPatternAddString( pPattern, FC_LANG, pLangAttribUtf8 );
|
||||
|
||||
// Add required Unicode characters, if any
|
||||
if ( rMissingCodes.getLength() )
|
||||
@@ -940,11 +1073,16 @@
|
||||
// also handle unicode surrogates
|
||||
const sal_uInt32 nCode = rMissingCodes.iterateCodePoints( &nStrIndex );
|
||||
rWrapper.FcCharSetAddChar( unicodes, nCode );
|
||||
+ if (!pLangAttribUtf8)
|
||||
+ pLangAttribUtf8 = (const FcChar8*)pick_sample_language(nCode);
|
||||
}
|
||||
rWrapper.FcPatternAddCharSet( pPattern, FC_CHARSET, unicodes);
|
||||
rWrapper.FcCharSetDestroy( unicodes );
|
||||
}
|
||||
|
||||
+ if( pLangAttribUtf8 )
|
||||
+ rWrapper.FcPatternAddString( pPattern, FC_LANG, pLangAttribUtf8 );
|
||||
+
|
||||
addtopattern(rWrapper, pPattern, rItalic, rWeight, rWidth, rPitch);
|
||||
|
||||
// query fontconfig for a substitute
|
||||
diff -ru vcl.orig/util/makefile.mk vcl/util/makefile.mk
|
||||
--- vcl.orig/util/makefile.mk 2009-10-08 13:25:00.000000000 +0100
|
||||
+++ vcl/util/makefile.mk 2009-10-08 13:25:09.000000000 +0100
|
||||
@@ -298,6 +298,7 @@
|
||||
# libs for generic plugin
|
||||
SHL2STDLIBS=\
|
||||
$(VCLLIB)\
|
||||
+ $(I18NUTILLIB) \
|
||||
$(I18NPAPERLIB) \
|
||||
$(I18NISOLANGLIB) \
|
||||
$(TOOLSLIB) \
|
@ -0,0 +1,13 @@
|
||||
diff -r 3ee4cb3a17dd svx/source/editeng/editeng.cxx
|
||||
--- a/editeng/source/editeng/editeng.cxx Fri Oct 30 09:44:02 2009 +0000
|
||||
+++ b/editeng/source/editeng/editeng.cxx Fri Oct 30 17:46:26 2009 +0000
|
||||
@@ -1783,7 +1783,8 @@
|
||||
ContentNode* pNode = pImpEditEngine->GetEditDoc().GetObject( n );
|
||||
pNode->CreateWrongList();
|
||||
}
|
||||
- pImpEditEngine->StartOnlineSpellTimer();
|
||||
+ if (pImpEditEngine->IsFormatted())
|
||||
+ pImpEditEngine->StartOnlineSpellTimer();
|
||||
}
|
||||
else
|
||||
{
|
@ -0,0 +1,87 @@
|
||||
diff -r 3c24aa9a7810 desktop/source/app/cmdlineargs.cxx
|
||||
--- a/desktop/source/app/cmdlineargs.cxx Sat Jan 23 16:31:03 2010 +0000
|
||||
+++ b/desktop/source/app/cmdlineargs.cxx Tue Feb 02 13:59:39 2010 +0000
|
||||
@@ -396,7 +396,7 @@
|
||||
}
|
||||
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-quickstart" )) == sal_True )
|
||||
{
|
||||
-#if defined(WNT) || defined(OS2) || defined(QUARTZ)
|
||||
+#if defined(ENABLE_QUICKSTART_APPLET)
|
||||
SetBoolParam_Impl( CMD_BOOLPARAM_QUICKSTART, sal_True );
|
||||
#endif
|
||||
SetBoolParam_Impl( CMD_BOOLPARAM_NOQUICKSTART, sal_False );
|
||||
diff -r 3c24aa9a7810 desktop/source/app/makefile.mk
|
||||
--- a/desktop/source/app/makefile.mk Sat Jan 23 16:31:03 2010 +0000
|
||||
+++ b/desktop/source/app/makefile.mk Tue Feb 02 13:59:39 2010 +0000
|
||||
@@ -53,6 +53,10 @@
|
||||
# DEPLOYMENTMISCLIB = -ldeploymentmisc$(DLLPOSTFIX)
|
||||
# .ENDIF
|
||||
|
||||
+.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2" || "$(GUIBASE)"=="aqua" || "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
|
||||
+CFLAGS+=-DENABLE_QUICKSTART_APPLET
|
||||
+.ENDIF
|
||||
+
|
||||
SHL1TARGET = sofficeapp
|
||||
SHL1OBJS = \
|
||||
$(SLO)$/app.obj \
|
||||
diff -r 3c24aa9a7810 sfx2/source/appl/shutdownicon.cxx
|
||||
--- a/sfx2/source/appl/shutdownicon.cxx Sat Jan 23 16:31:03 2010 +0000
|
||||
+++ b/sfx2/source/appl/shutdownicon.cxx Tue Feb 02 13:59:39 2010 +0000
|
||||
@@ -555,8 +555,8 @@
|
||||
return;
|
||||
|
||||
// always remove ourselves as listener
|
||||
+ pInst->m_bListenForTermination = true;
|
||||
xDesktop->removeTerminateListener( pInst );
|
||||
- pInst->m_bListenForTermination = true;
|
||||
|
||||
// terminate desktop only if no tasks exist
|
||||
Reference< XFramesSupplier > xSupplier( xDesktop, UNO_QUERY );
|
||||
diff -r 3c24aa9a7810 sfx2/source/appl/shutdowniconunx.cxx
|
||||
--- a/sfx2/source/appl/shutdowniconunx.cxx Sat Jan 23 16:31:03 2010 +0000
|
||||
+++ b/sfx2/source/appl/shutdowniconunx.cxx Tue Feb 02 13:59:39 2010 +0000
|
||||
@@ -39,6 +39,7 @@
|
||||
static EggTrayIcon *pTrayIcon;
|
||||
static GtkWidget *pExitMenuItem = NULL;
|
||||
static GtkWidget *pOpenMenuItem = NULL;
|
||||
+static GtkWidget *pDisableMenuItem = NULL;
|
||||
|
||||
static void open_url_cb( GtkWidget *, gpointer data )
|
||||
{
|
||||
@@ -67,8 +68,10 @@
|
||||
static void exit_quickstarter_cb( GtkWidget * )
|
||||
{
|
||||
egg_tray_icon_cancel_message (pTrayIcon, 1 );
|
||||
- ShutdownIcon::getInstance()->terminateDesktop();
|
||||
plugin_shutdown_sys_tray();
|
||||
+ //terminate may cause this .so to be unloaded. So we must be hands off
|
||||
+ //all calls into this .so after this call
|
||||
+ ShutdownIcon::terminateDesktop();
|
||||
}
|
||||
|
||||
static void menu_deactivate_cb( GtkWidget *pMenu )
|
||||
@@ -265,7 +268,7 @@
|
||||
pMenuItem = gtk_separator_menu_item_new();
|
||||
gtk_menu_shell_append( pMenuShell, pMenuItem );
|
||||
|
||||
- (void) add_image_menu_item
|
||||
+ pDisableMenuItem = add_image_menu_item
|
||||
( pMenuShell, GTK_STOCK_CLOSE,
|
||||
pShutdownIcon->GetResString( STR_QUICKSTART_PRELAUNCH_UNX ),
|
||||
G_CALLBACK( systray_disable_cb ) );
|
||||
@@ -289,6 +292,7 @@
|
||||
bool bModal = ShutdownIcon::bModalMode;
|
||||
gtk_widget_set_sensitive( pExitMenuItem, !bModal);
|
||||
gtk_widget_set_sensitive( pOpenMenuItem, !bModal);
|
||||
+ gtk_widget_set_sensitive( pDisableMenuItem, !bModal);
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
@@ -404,6 +409,7 @@
|
||||
pTrayIcon = NULL;
|
||||
pExitMenuItem = NULL;
|
||||
pOpenMenuItem = NULL;
|
||||
+ pDisableMenuItem = NULL;
|
||||
}
|
||||
|
||||
#endif // ENABLE_QUICKSTART_APPLET
|
@ -0,0 +1,31 @@
|
||||
diff -ru svx.orig/source/unodraw/unoprov.cxx svx/source/unodraw/unoprov.cxx
|
||||
--- svx.orig/source/unodraw/unoprov.cxx 2010-03-15 14:31:21.000000000 +0000
|
||||
+++ svx/source/unodraw/unoprov.cxx 2010-03-15 15:17:05.000000000 +0000
|
||||
@@ -1368,12 +1370,24 @@
|
||||
|
||||
bool SvxUnoConvertResourceString( USHORT* pSourceResIds, USHORT* pDestResIds, int nCount, String& rString ) throw()
|
||||
{
|
||||
- int i = 0;
|
||||
+ //We replace e.g. "Gray 10%" with the translation of Gray, but we shouldn't
|
||||
+ //replace "Red Hat 1" with the translation of Red :-)
|
||||
+ rtl::OUString sStr(rString);
|
||||
+ const sal_Unicode *pStr = sStr.getStr();
|
||||
+ sal_Int32 nLength = sStr.getLength();
|
||||
+ while( nLength > 0 )
|
||||
+ {
|
||||
+ const sal_Unicode nChar = pStr[nLength-1];
|
||||
+ if (nChar != '%' && (nChar < '0' || nChar > '9'))
|
||||
+ break;
|
||||
+ nLength--;
|
||||
+ }
|
||||
+ sStr = rtl::OUString(pStr, nLength).trim();
|
||||
|
||||
- for( i = 0; i < nCount; i++ )
|
||||
+ for(int i = 0; i < nCount; ++i )
|
||||
{
|
||||
String aStrDefName = SVX_RESSTR( pSourceResIds[i] );
|
||||
- if( rString.Search( aStrDefName ) == 0 )
|
||||
+ if( sStr.equals( aStrDefName ) )
|
||||
{
|
||||
String aReplace = SVX_RESSTR( pDestResIds[i] );
|
||||
rString.Replace( 0, aStrDefName.Len(), aReplace );
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,17 @@
|
||||
diff -r 2da10c20ba01 sw/source/core/layout/trvlfrm.cxx
|
||||
--- a/sw/source/core/layout/trvlfrm.cxx Mon Feb 08 10:49:42 2010 +0000
|
||||
+++ b/sw/source/core/layout/trvlfrm.cxx Tue Feb 16 10:35:18 2010 +0000
|
||||
@@ -2064,9 +2064,11 @@
|
||||
if ( pStartFrm->IsInFly() )
|
||||
{
|
||||
const SwAnchoredObject* pObj = pStartFrm->FindFlyFrm();
|
||||
- aSortObjs.Insert( *(const_cast<SwAnchoredObject*>(pObj)) );
|
||||
+ ASSERT( pObj, "No Start Object." );
|
||||
+ if (pObj) aSortObjs.Insert( *(const_cast<SwAnchoredObject*>(pObj)) );
|
||||
const SwAnchoredObject* pObj2 = pEndFrm->FindFlyFrm();
|
||||
- aSortObjs.Insert( *(const_cast<SwAnchoredObject*>(pObj2)) );
|
||||
+ ASSERT( pObj2, "No Start Object." );
|
||||
+ if (pObj2) aSortObjs.Insert( *(const_cast<SwAnchoredObject*>(pObj2)) );
|
||||
}
|
||||
|
||||
//Fall 4: Tabellenselection
|
@ -0,0 +1,37 @@
|
||||
# HG changeset patch
|
||||
# Parent 95fe59fa4df8614a0bf6b0f5b7c7114e98a28f8d
|
||||
rhbz#632236: [abrt] [docx] _Construct<long, long> crash
|
||||
|
||||
diff -r 95fe59fa4df8 writerfilter/source/dmapper/DomainMapperTableHandler.cxx
|
||||
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx Wed Sep 29 09:32:54 2010 +0200
|
||||
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx Wed Sep 29 09:59:15 2010 +0200
|
||||
@@ -492,13 +492,6 @@
|
||||
if( aRepeatIter == m_aTableProperties->end() )
|
||||
m_aTableProperties->Insert( PROP_HEADER_ROW_COUNT, false, uno::makeAny( (sal_Int32)0 ));
|
||||
|
||||
- // Remove the PROP_HEADER_ROW_COUNT from the table default to avoid
|
||||
- // propagating it to the cells
|
||||
- PropertyMap::iterator aDefaultRepeatIt =
|
||||
- rInfo.pTableDefaults->find( PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) );
|
||||
- if ( aDefaultRepeatIt != rInfo.pTableDefaults->end( ) )
|
||||
- rInfo.pTableDefaults->erase( aDefaultRepeatIt );
|
||||
-
|
||||
rInfo.aTableProperties = m_aTableProperties->GetPropertyValues();
|
||||
|
||||
#ifdef DEBUG_DOMAINMAPPER
|
||||
@@ -588,7 +581,14 @@
|
||||
PropertyMapPtr pStyleProps = rInfo.pTableStyle->GetProperties( nCellStyleMask + nRowStyleMask );
|
||||
pAllCellProps->insert( pStyleProps );
|
||||
}
|
||||
-
|
||||
+
|
||||
+ // Remove properties from style/row that aren't allowed in cells
|
||||
+ const PropertyMap::iterator aDefaultRepeatIt =
|
||||
+ pAllCellProps->find(
|
||||
+ PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) );
|
||||
+ if ( aDefaultRepeatIt != pAllCellProps->end( ) )
|
||||
+ pAllCellProps->erase( aDefaultRepeatIt );
|
||||
+
|
||||
// Then add the cell properties
|
||||
pAllCellProps->insert( *aCellIterator );
|
||||
aCellIterator->get( )->swap( *pAllCellProps.get( ) );
|
@ -0,0 +1,49 @@
|
||||
--- wizards/source/euro/AutoPilotRun.xba 2010-06-08 11:34:12.000000000 +0100
|
||||
+++ wizards/source/euro/AutoPilotRun.xba 2010-06-08 12:54:34.000000000 +0100
|
||||
@@ -11,7 +11,7 @@
|
||||
Public SubstFile as String
|
||||
Public SubstDir as String
|
||||
Public NoArgs()
|
||||
-Public FilterList(9) as String
|
||||
+Public TypeList(14) as String
|
||||
Public GoOn as Boolean
|
||||
Public DoUnprotect as Integer
|
||||
Public Password as String
|
||||
@@ -55,20 +55,25 @@
|
||||
Else
|
||||
SourceDir = Source
|
||||
TargetStemDir = TargetDir
|
||||
- FilterList(0) = "application/x-starcalc"
|
||||
- FilterList(1) = "application/vnd.stardivision.calc"
|
||||
- FilterList(2) = "application/vnd.sun.xml.calc"
|
||||
- FilterList(3) = "application/vnd.oasis.opendocument.spreadsheet"
|
||||
+ TypeList(0) = "calc8"
|
||||
+ TypeList(1) = "calc_StarOffice_XML_Calc"
|
||||
+ TypeList(2) = "calc_StarCalc_30"
|
||||
+ TypeList(3) = "calc_StarCalc_40"
|
||||
+ TypeList(4) = "calc_StarCalc_50"
|
||||
If DialogModel.chkTextDocuments.State = 1 Then
|
||||
- ReDim Preserve FilterList(8) as String
|
||||
-
|
||||
- FilterList(4) = "application/x-starwriter"
|
||||
- FilterList(5) = "application/vnd.stardivision.writer"
|
||||
- FilterList(6) = "application/vnd.stardivision.writer/web"
|
||||
- FilterList(7) = "application/vnd.sun.xml.writer"
|
||||
- FilterList(8) = "application/vnd.oasis.opendocument.text"
|
||||
+ ReDim Preserve TypeList(13) as String
|
||||
+
|
||||
+ TypeList(5) = "writer8"
|
||||
+ TypeList(6) = "writerglobal8"
|
||||
+ TypeList(7) = "writer_StarOffice_XML_Writer"
|
||||
+ TypeList(8) = "writer_globaldocument_StarOffice_XML_Writer_GlobalDocument"
|
||||
+ TypeList(9) = "writer_StarWriter_30"
|
||||
+ TypeList(10) = "writer_StarWriter_40"
|
||||
+ TypeList(11) = "writer_globaldocument_StarWriter_40GlobalDocument"
|
||||
+ TypeList(12) = "writer_StarWriter_50"
|
||||
+ TypeList(13) = "writer_globaldocument_StarWriter_50GlobalDocument"
|
||||
End If
|
||||
- FilesList() = ReadDirectories(SourceDir, bRecursive, True, False, FilterList())
|
||||
+ FilesList() = ReadDirectories(SourceDir, bRecursive, True, False, TypeList())
|
||||
TotDocCount = Ubound(FilesList(),1) + 1
|
||||
End If
|
||||
InitializeProgressPage(DialogModel)
|
@ -0,0 +1,83 @@
|
||||
diff -ru sal.orig/osl/unx/file_misc.cxx sal/osl/unx/file_misc.cxx
|
||||
--- sal.orig/osl/unx/file_misc.cxx 2010-08-09 09:13:30.000000000 +0100
|
||||
+++ sal/osl/unx/file_misc.cxx 2010-08-09 09:21:21.000000000 +0100
|
||||
@@ -1022,66 +1022,29 @@
|
||||
return nRet;
|
||||
}
|
||||
|
||||
- /* HACK: because memory mapping fails on various
|
||||
- platforms if the size of the source file is 0 byte */
|
||||
- if (0 == nSourceSize)
|
||||
- {
|
||||
- close(SourceFileFD);
|
||||
- close(DestFileFD);
|
||||
- return 0;
|
||||
- }
|
||||
-
|
||||
- // read and lseek are used to check the possibility to access the data
|
||||
- // not a nice solution, but it allows to avoid a crash in case it is an opened samba file
|
||||
- // generally, reading of one byte should not affect the performance
|
||||
- char nCh;
|
||||
- if ( 1 != read( SourceFileFD, &nCh, 1 )
|
||||
- || -1 == lseek( SourceFileFD, 0, SEEK_SET ) )
|
||||
- {
|
||||
- nRet = errno;
|
||||
- close( SourceFileFD );
|
||||
- close( DestFileFD );
|
||||
- return nRet;
|
||||
- }
|
||||
-
|
||||
size_t nWritten = 0;
|
||||
size_t nRemains = nSourceSize;
|
||||
|
||||
- /* mmap file -- open dest file -- write -- fsync it at the end */
|
||||
- void* pSourceFile = mmap( 0, nSourceSize, PROT_READ, MAP_SHARED, SourceFileFD, 0 );
|
||||
- if ( pSourceFile != MAP_FAILED )
|
||||
- {
|
||||
- nWritten = write( DestFileFD, pSourceFile, nSourceSize );
|
||||
- nRemains -= nWritten;
|
||||
- munmap( (char*)pSourceFile, nSourceSize );
|
||||
- }
|
||||
-
|
||||
if ( nRemains )
|
||||
{
|
||||
/* mmap has problems, try the direct streaming */
|
||||
- char pBuffer[32000];
|
||||
+ char pBuffer[0x7FFF];
|
||||
size_t nRead = 0;
|
||||
|
||||
- nRemains = nSourceSize;
|
||||
-
|
||||
- if ( -1 != lseek( SourceFileFD, 0, SEEK_SET )
|
||||
- && -1 != lseek( DestFileFD, 0, SEEK_SET ) )
|
||||
+ do
|
||||
{
|
||||
- do
|
||||
- {
|
||||
- nRead = 0;
|
||||
- nWritten = 0;
|
||||
-
|
||||
- size_t nToRead = std::min( (size_t)32000, nRemains );
|
||||
- nRead = read( SourceFileFD, pBuffer, nToRead );
|
||||
- if ( (size_t)-1 != nRead )
|
||||
- nWritten = write( DestFileFD, pBuffer, nRead );
|
||||
-
|
||||
- if ( (size_t)-1 != nWritten )
|
||||
- nRemains -= nWritten;
|
||||
- }
|
||||
- while( nRemains && (size_t)-1 != nRead && nRead == nWritten );
|
||||
+ nRead = 0;
|
||||
+ nWritten = 0;
|
||||
+
|
||||
+ size_t nToRead = std::min( sizeof(pBuffer), nRemains );
|
||||
+ nRead = read( SourceFileFD, pBuffer, nToRead );
|
||||
+ if ( (size_t)-1 != nRead )
|
||||
+ nWritten = write( DestFileFD, pBuffer, nRead );
|
||||
+
|
||||
+ if ( (size_t)-1 != nWritten )
|
||||
+ nRemains -= nWritten;
|
||||
}
|
||||
+ while( nRemains && (size_t)-1 != nRead && nRead == nWritten );
|
||||
}
|
||||
|
||||
if ( nRemains )
|
@ -0,0 +1,852 @@
|
||||
--- cppu/source/threadpool/jobqueue.cxx 2008-04-11 11:33:02.000000000 +0100
|
||||
+++ cppu/source/threadpool/jobqueue.cxx 2009-12-02 16:14:26.000000000 +0000
|
||||
@@ -45,6 +45,7 @@
|
||||
m_cndWait( osl_createCondition() )
|
||||
{
|
||||
osl_resetCondition( m_cndWait );
|
||||
+ m_DisposedCallerAdmin = DisposedCallerAdmin::getInstance();
|
||||
}
|
||||
|
||||
JobQueue::~JobQueue()
|
||||
@@ -71,7 +72,7 @@
|
||||
{
|
||||
// synchronize with the dispose calls
|
||||
MutexGuard guard( m_mutex );
|
||||
- if( DisposedCallerAdmin::getInstance()->isDisposed( nDisposeId ) )
|
||||
+ if( m_DisposedCallerAdmin->isDisposed( nDisposeId ) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
--- cppu/source/threadpool/jobqueue.hxx 2008-04-11 11:33:18.000000000 +0100
|
||||
+++ cppu/source/threadpool/jobqueue.hxx 2009-12-02 16:15:49.000000000 +0000
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <osl/conditn.h>
|
||||
#include <osl/mutex.hxx>
|
||||
|
||||
+#include <boost/shared_ptr.hpp>
|
||||
+
|
||||
namespace cppu_threadpool
|
||||
{
|
||||
extern "C" typedef void (SAL_CALL RequestFun)(void *);
|
||||
@@ -51,6 +53,9 @@
|
||||
|
||||
typedef ::std::list < sal_Int64 > CallStackList;
|
||||
|
||||
+ class DisposedCallerAdmin;
|
||||
+ typedef boost::shared_ptr<DisposedCallerAdmin> DisposedCallerAdminHolder;
|
||||
+
|
||||
class JobQueue
|
||||
{
|
||||
public:
|
||||
@@ -76,6 +81,7 @@
|
||||
sal_Int32 m_nToDo;
|
||||
sal_Bool m_bSuspended;
|
||||
oslCondition m_cndWait;
|
||||
+ DisposedCallerAdminHolder m_DisposedCallerAdmin;
|
||||
};
|
||||
}
|
||||
|
||||
--- cppu/source/threadpool/thread.cxx 2008-04-11 11:34:00.000000000 +0100
|
||||
+++ cppu/source/threadpool/thread.cxx 2009-12-03 16:15:02.000000000 +0000
|
||||
@@ -31,6 +31,8 @@
|
||||
#include <osl/diagnose.h>
|
||||
#include <uno/threadpool.h>
|
||||
|
||||
+#include <rtl/instance.hxx>
|
||||
+
|
||||
#include "thread.hxx"
|
||||
#include "jobqueue.hxx"
|
||||
#include "threadpool.hxx"
|
||||
@@ -98,20 +100,17 @@
|
||||
} while( pCurrent );
|
||||
}
|
||||
|
||||
- ThreadAdmin* ThreadAdmin::getInstance()
|
||||
+ struct theThreadAdmin : public rtl::StaticWithInit< ThreadAdminHolder, theThreadAdmin >
|
||||
{
|
||||
- static ThreadAdmin *pThreadAdmin = 0;
|
||||
- if( ! pThreadAdmin )
|
||||
- {
|
||||
- MutexGuard guard( Mutex::getGlobalMutex() );
|
||||
- if( ! pThreadAdmin )
|
||||
- {
|
||||
- static ThreadAdmin admin;
|
||||
- pThreadAdmin = &admin;
|
||||
- }
|
||||
+ ThreadAdminHolder operator () () {
|
||||
+ ThreadAdminHolder aRet(new ThreadAdmin());
|
||||
+ return aRet;
|
||||
}
|
||||
- return pThreadAdmin;
|
||||
+ };
|
||||
|
||||
+ ThreadAdminHolder& ThreadAdmin::getInstance()
|
||||
+ {
|
||||
+ return theThreadAdmin::get();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------
|
||||
@@ -119,12 +118,13 @@
|
||||
const ByteSequence &aThreadId,
|
||||
sal_Bool bAsynchron )
|
||||
: m_thread( 0 )
|
||||
+ , m_aThreadAdmin( ThreadAdmin::getInstance() )
|
||||
, m_pQueue( pQueue )
|
||||
, m_aThreadId( aThreadId )
|
||||
, m_bAsynchron( bAsynchron )
|
||||
, m_bDeleteSelf( sal_True )
|
||||
{
|
||||
- ThreadAdmin::getInstance()->add( this );
|
||||
+ m_aThreadAdmin->add( this );
|
||||
}
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
|
||||
void ORequestThread::onTerminated()
|
||||
{
|
||||
- ThreadAdmin::getInstance()->remove( this );
|
||||
+ m_aThreadAdmin->remove( this );
|
||||
if( m_bDeleteSelf )
|
||||
{
|
||||
delete this;
|
||||
@@ -175,6 +175,8 @@
|
||||
|
||||
void ORequestThread::run()
|
||||
{
|
||||
+ ThreadPoolHolder theThreadPool = cppu_threadpool::ThreadPool::getInstance();
|
||||
+
|
||||
while ( m_pQueue )
|
||||
{
|
||||
if( ! m_bAsynchron )
|
||||
@@ -197,7 +199,7 @@
|
||||
|
||||
if( m_pQueue->isEmpty() )
|
||||
{
|
||||
- ThreadPool::getInstance()->revokeQueue( m_aThreadId , m_bAsynchron );
|
||||
+ theThreadPool->revokeQueue( m_aThreadId , m_bAsynchron );
|
||||
// Note : revokeQueue might have failed because m_pQueue.isEmpty()
|
||||
// may be false (race).
|
||||
}
|
||||
@@ -211,7 +213,7 @@
|
||||
uno_releaseIdFromCurrentThread();
|
||||
}
|
||||
|
||||
- cppu_threadpool::ThreadPool::getInstance()->waitInPool( this );
|
||||
+ theThreadPool->waitInPool( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
--- cppu/source/threadpool/thread.hxx 2008-04-11 11:34:18.000000000 +0100
|
||||
+++ cppu/source/threadpool/thread.hxx 2009-12-02 15:58:34.000000000 +0000
|
||||
@@ -37,6 +37,8 @@
|
||||
namespace cppu_threadpool {
|
||||
|
||||
class JobQueue;
|
||||
+ class ThreadAdmin;
|
||||
+ typedef boost::shared_ptr<ThreadAdmin> ThreadAdminHolder;
|
||||
|
||||
//-----------------------------------------
|
||||
// private thread class for the threadpool
|
||||
@@ -61,6 +63,7 @@
|
||||
|
||||
private:
|
||||
oslThread m_thread;
|
||||
+ ThreadAdminHolder m_aThreadAdmin;
|
||||
JobQueue *m_pQueue;
|
||||
::rtl::ByteSequence m_aThreadId;
|
||||
sal_Bool m_bAsynchron;
|
||||
@@ -71,7 +74,7 @@
|
||||
{
|
||||
public:
|
||||
~ThreadAdmin ();
|
||||
- static ThreadAdmin *getInstance();
|
||||
+ static ThreadAdminHolder &getInstance();
|
||||
void add( ORequestThread * );
|
||||
void remove( ORequestThread * );
|
||||
void join();
|
||||
--- cppu/source/threadpool/threadpool.cxx 2008-04-11 11:34:54.000000000 +0100
|
||||
+++ cppu/source/threadpool/threadpool.cxx 2009-12-03 16:14:56.000000000 +0000
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <osl/diagnose.h>
|
||||
#include <osl/mutex.hxx>
|
||||
#include <osl/thread.h>
|
||||
+#include <rtl/instance.hxx>
|
||||
|
||||
#include <uno/threadpool.h>
|
||||
|
||||
@@ -44,19 +45,17 @@
|
||||
|
||||
namespace cppu_threadpool
|
||||
{
|
||||
- DisposedCallerAdmin *DisposedCallerAdmin::getInstance()
|
||||
+ struct theDisposedCallerAdmin :
|
||||
+ public rtl::StaticWithInit< DisposedCallerAdminHolder, theDisposedCallerAdmin >
|
||||
{
|
||||
- static DisposedCallerAdmin *pDisposedCallerAdmin = 0;
|
||||
- if( ! pDisposedCallerAdmin )
|
||||
- {
|
||||
- MutexGuard guard( Mutex::getGlobalMutex() );
|
||||
- if( ! pDisposedCallerAdmin )
|
||||
- {
|
||||
- static DisposedCallerAdmin admin;
|
||||
- pDisposedCallerAdmin = &admin;
|
||||
- }
|
||||
+ DisposedCallerAdminHolder operator () () {
|
||||
+ return DisposedCallerAdminHolder(new DisposedCallerAdmin());
|
||||
}
|
||||
- return pDisposedCallerAdmin;
|
||||
+ };
|
||||
+
|
||||
+ DisposedCallerAdminHolder DisposedCallerAdmin::getInstance()
|
||||
+ {
|
||||
+ return theDisposedCallerAdmin::get();
|
||||
}
|
||||
|
||||
DisposedCallerAdmin::~DisposedCallerAdmin()
|
||||
@@ -107,6 +106,21 @@
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
+
|
||||
+ struct theThreadPool :
|
||||
+ public rtl::StaticWithInit< ThreadPoolHolder, theThreadPool >
|
||||
+ {
|
||||
+ ThreadPoolHolder operator () () {
|
||||
+ ThreadPoolHolder aRet(new ThreadPool());
|
||||
+ return aRet;
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
+ ThreadPool::ThreadPool()
|
||||
+ {
|
||||
+ m_DisposedCallerAdmin = DisposedCallerAdmin::getInstance();
|
||||
+ }
|
||||
+
|
||||
ThreadPool::~ThreadPool()
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
@@ -116,19 +130,9 @@
|
||||
}
|
||||
#endif
|
||||
}
|
||||
- ThreadPool *ThreadPool::getInstance()
|
||||
+ ThreadPoolHolder ThreadPool::getInstance()
|
||||
{
|
||||
- static ThreadPool *pThreadPool = 0;
|
||||
- if( ! pThreadPool )
|
||||
- {
|
||||
- MutexGuard guard( Mutex::getGlobalMutex() );
|
||||
- if( ! pThreadPool )
|
||||
- {
|
||||
- static ThreadPool pool;
|
||||
- pThreadPool = &pool;
|
||||
- }
|
||||
- }
|
||||
- return pThreadPool;
|
||||
+ return theThreadPool::get();
|
||||
}
|
||||
|
||||
|
||||
@@ -136,7 +140,7 @@
|
||||
{
|
||||
if( nDisposeId )
|
||||
{
|
||||
- DisposedCallerAdmin::getInstance()->dispose( nDisposeId );
|
||||
+ m_DisposedCallerAdmin->dispose( nDisposeId );
|
||||
|
||||
MutexGuard guard( m_mutex );
|
||||
for( ThreadIdHashMap::iterator ii = m_mapQueue.begin() ;
|
||||
@@ -171,7 +175,7 @@
|
||||
|
||||
void ThreadPool::stopDisposing( sal_Int64 nDisposeId )
|
||||
{
|
||||
- DisposedCallerAdmin::getInstance()->stopDisposing( nDisposeId );
|
||||
+ m_DisposedCallerAdmin->stopDisposing( nDisposeId );
|
||||
}
|
||||
|
||||
/******************
|
||||
@@ -400,7 +404,7 @@
|
||||
|
||||
|
||||
|
||||
-typedef ::std::hash_set< uno_ThreadPool, uno_ThreadPool_Hash, uno_ThreadPool_Equal > ThreadpoolHashSet;
|
||||
+typedef ::std::hash_map< uno_ThreadPool, ThreadPoolHolder, uno_ThreadPool_Hash, uno_ThreadPool_Equal > ThreadpoolHashSet;
|
||||
|
||||
static ThreadpoolHashSet *g_pThreadpoolHashSet;
|
||||
|
||||
@@ -420,7 +424,7 @@
|
||||
|
||||
// Just ensure that the handle is unique in the process (via heap)
|
||||
uno_ThreadPool h = new struct _uno_ThreadPool;
|
||||
- g_pThreadpoolHashSet->insert( h );
|
||||
+ g_pThreadpoolHashSet->insert( ThreadpoolHashSet::value_type(h, ThreadPool::getInstance()) );
|
||||
return h;
|
||||
}
|
||||
|
||||
--- cppu/source/threadpool/threadpool.hxx 2008-04-11 11:35:13.000000000 +0100
|
||||
+++ cppu/source/threadpool/threadpool.hxx 2009-12-02 16:12:13.000000000 +0000
|
||||
@@ -33,6 +33,8 @@
|
||||
|
||||
#include <rtl/byteseq.hxx>
|
||||
|
||||
+#include <boost/shared_ptr.hpp>
|
||||
+
|
||||
#include "jobqueue.hxx"
|
||||
|
||||
|
||||
@@ -78,13 +80,16 @@
|
||||
};
|
||||
|
||||
typedef ::std::list < struct ::cppu_threadpool::WaitingThread * > WaitingThreadList;
|
||||
+
|
||||
+ class DisposedCallerAdmin;
|
||||
+ typedef boost::shared_ptr<DisposedCallerAdmin> DisposedCallerAdminHolder;
|
||||
|
||||
class DisposedCallerAdmin
|
||||
{
|
||||
public:
|
||||
~DisposedCallerAdmin();
|
||||
|
||||
- static DisposedCallerAdmin *getInstance();
|
||||
+ static DisposedCallerAdminHolder getInstance();
|
||||
|
||||
void dispose( sal_Int64 nDisposeId );
|
||||
void stopDisposing( sal_Int64 nDisposeId );
|
||||
@@ -95,11 +100,15 @@
|
||||
DisposedCallerList m_lst;
|
||||
};
|
||||
|
||||
+ class ThreadPool;
|
||||
+ typedef boost::shared_ptr<ThreadPool> ThreadPoolHolder;
|
||||
+
|
||||
class ThreadPool
|
||||
{
|
||||
public:
|
||||
+ ThreadPool();
|
||||
~ThreadPool();
|
||||
- static ThreadPool *getInstance();
|
||||
+ static ThreadPoolHolder getInstance();
|
||||
|
||||
void dispose( sal_Int64 nDisposeId );
|
||||
void stopDisposing( sal_Int64 nDisposeId );
|
||||
@@ -127,6 +136,8 @@
|
||||
|
||||
::osl::Mutex m_mutexWaitingThreadList;
|
||||
WaitingThreadList m_lstThreads;
|
||||
+
|
||||
+ DisposedCallerAdminHolder m_DisposedCallerAdmin;
|
||||
};
|
||||
|
||||
} // end namespace cppu_threadpool
|
||||
--- cppu/source/uno/lbenv.cxx 2009-02-12 10:18:09.000000000 +0000
|
||||
+++ cppu/source/uno/lbenv.cxx 2009-12-03 16:14:26.000000000 +0000
|
||||
@@ -142,6 +142,7 @@
|
||||
::osl::Mutex mutex;
|
||||
OUString2EnvironmentMap aName2EnvMap;
|
||||
|
||||
+ EnvironmentsData() : isDisposing(false) {}
|
||||
~EnvironmentsData();
|
||||
|
||||
inline void getEnvironment(
|
||||
@@ -150,6 +151,8 @@
|
||||
inline void getRegisteredEnvironments(
|
||||
uno_Environment *** pppEnvs, sal_Int32 * pnLen,
|
||||
uno_memAlloc memAlloc, const OUString & rEnvDcp );
|
||||
+
|
||||
+ bool isDisposing;
|
||||
};
|
||||
|
||||
namespace
|
||||
@@ -598,9 +601,14 @@
|
||||
*ppHardEnv = 0;
|
||||
}
|
||||
|
||||
+ EnvironmentsData & rData = theEnvironmentsData::get();
|
||||
+
|
||||
+ if (rData.isDisposing)
|
||||
+ return;
|
||||
+
|
||||
uno_DefaultEnvironment * that = (uno_DefaultEnvironment *)pEnv;
|
||||
{
|
||||
- ::osl::MutexGuard guard( theEnvironmentsData::get().mutex );
|
||||
+ ::osl::MutexGuard guard( rData.mutex );
|
||||
if (1 == ::osl_incrementInterlockedCount( &that->nRef )) // is dead
|
||||
{
|
||||
that->nRef = 0;
|
||||
@@ -917,6 +925,7 @@
|
||||
EnvironmentsData::~EnvironmentsData()
|
||||
{
|
||||
::osl::MutexGuard guard( mutex );
|
||||
+ isDisposing = true;
|
||||
|
||||
for ( OUString2EnvironmentMap::const_iterator iPos( aName2EnvMap.begin() );
|
||||
iPos != aName2EnvMap.end(); ++iPos )
|
||||
--- cppu/util/target.pmk 2008-04-11 12:07:15.000000000 +0100
|
||||
+++ cppu/util/target.pmk 2009-12-02 15:50:08.000000000 +0000
|
||||
@@ -55,12 +55,3 @@
|
||||
.ENDIF
|
||||
|
||||
.ENDIF
|
||||
-
|
||||
-# other stuff
|
||||
-
|
||||
-.IF "$(cppu_no_leak)" == ""
|
||||
-.IF "$(bndchk)" == ""
|
||||
-CFLAGS += -DCPPU_LEAK_STATIC_DATA
|
||||
-.ENDIF
|
||||
-.ENDIF
|
||||
-
|
||||
--- sax/source/tools/fastserializer.cxx 2010-06-22 12:54:56.000000000 +0100
|
||||
+++ sax/source/tools/fastserializer.cxx 2010-06-22 13:14:30.000000000 +0100
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "fastserializer.hxx"
|
||||
#include <rtl/ustrbuf.hxx>
|
||||
+#include <rtl/byteseq.hxx>
|
||||
|
||||
#include <com/sun/star/xml/Attribute.hpp>
|
||||
#include <com/sun/star/xml/FastAttribute.hpp>
|
||||
@@ -41,6 +42,7 @@
|
||||
using ::com::sun::star::uno::Reference;
|
||||
using ::com::sun::star::uno::RuntimeException;
|
||||
using ::com::sun::star::uno::Sequence;
|
||||
+using ::com::sun::star::uno::toUnoSequence;
|
||||
using ::com::sun::star::xml::FastAttribute;
|
||||
using ::com::sun::star::xml::Attribute;
|
||||
using ::com::sun::star::xml::sax::SAXException;
|
||||
@@ -52,15 +54,15 @@
|
||||
using ::com::sun::star::io::IOException;
|
||||
using ::com::sun::star::io::BufferSizeExceededException;
|
||||
|
||||
-static Sequence< sal_Int8 > aClosingBracket((sal_Int8 *)">", 1);
|
||||
-static Sequence< sal_Int8 > aSlashAndClosingBracket((sal_Int8 *)"/>", 2);
|
||||
-static Sequence< sal_Int8 > aColon((sal_Int8 *)":", 1);
|
||||
-static Sequence< sal_Int8 > aOpeningBracket((sal_Int8 *)"<", 1);
|
||||
-static Sequence< sal_Int8 > aOpeningBracketAndSlash((sal_Int8 *)"</", 2);
|
||||
-static Sequence< sal_Int8 > aQuote((sal_Int8 *)"\"", 1);
|
||||
-static Sequence< sal_Int8 > aEqualSignAndQuote((sal_Int8 *)"=\"", 2);
|
||||
-static Sequence< sal_Int8 > aSpace((sal_Int8 *)" ", 1);
|
||||
-static Sequence< sal_Int8 > aXmlHeader((sal_Int8*) "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n", 56);
|
||||
+static rtl::ByteSequence aClosingBracket((const sal_Int8 *)">", 1);
|
||||
+static rtl::ByteSequence aSlashAndClosingBracket((const sal_Int8 *)"/>", 2);
|
||||
+static rtl::ByteSequence aColon((const sal_Int8 *)":", 1);
|
||||
+static rtl::ByteSequence aOpeningBracket((const sal_Int8 *)"<", 1);
|
||||
+static rtl::ByteSequence aOpeningBracketAndSlash((const sal_Int8 *)"</", 2);
|
||||
+static rtl::ByteSequence aQuote((const sal_Int8 *)"\"", 1);
|
||||
+static rtl::ByteSequence aEqualSignAndQuote((const sal_Int8 *)"=\"", 2);
|
||||
+static rtl::ByteSequence aSpace((const sal_Int8 *)" ", 1);
|
||||
+static rtl::ByteSequence aXmlHeader((const sal_Int8*) "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n", 56);
|
||||
|
||||
#define HAS_NAMESPACE(x) ((x & 0xffff0000) != 0)
|
||||
#define NAMESPACE(x) (x >> 16)
|
||||
@@ -74,7 +76,7 @@
|
||||
{
|
||||
if (!mxOutputStream.is())
|
||||
return;
|
||||
- writeBytes(aXmlHeader);
|
||||
+ writeBytes(toUnoSequence(aXmlHeader));
|
||||
}
|
||||
|
||||
OUString FastSaxSerializer::escapeXml( const OUString& s )
|
||||
@@ -116,7 +118,7 @@
|
||||
{
|
||||
if( HAS_NAMESPACE( nElement ) ) {
|
||||
writeBytes(mxFastTokenHandler->getUTF8Identifier(NAMESPACE(nElement)));
|
||||
- writeBytes(aColon);
|
||||
+ writeBytes(toUnoSequence(aColon));
|
||||
writeBytes(mxFastTokenHandler->getUTF8Identifier(TOKEN(nElement)));
|
||||
} else
|
||||
writeBytes(mxFastTokenHandler->getUTF8Identifier(nElement));
|
||||
@@ -128,12 +130,12 @@
|
||||
if (!mxOutputStream.is())
|
||||
return;
|
||||
|
||||
- writeBytes(aOpeningBracket);
|
||||
+ writeBytes(toUnoSequence(aOpeningBracket));
|
||||
|
||||
writeId(Element);
|
||||
writeFastAttributeList(Attribs);
|
||||
|
||||
- writeBytes(aClosingBracket);
|
||||
+ writeBytes(toUnoSequence(aClosingBracket));
|
||||
}
|
||||
|
||||
void SAL_CALL FastSaxSerializer::startUnknownElement( const OUString& Namespace, const OUString& Name, const Reference< XFastAttributeList >& Attribs )
|
||||
@@ -142,19 +144,19 @@
|
||||
if (!mxOutputStream.is())
|
||||
return;
|
||||
|
||||
- writeBytes(aOpeningBracket);
|
||||
+ writeBytes(toUnoSequence(aOpeningBracket));
|
||||
|
||||
if (Namespace.getLength())
|
||||
{
|
||||
write(Namespace);
|
||||
- writeBytes(aColon);
|
||||
+ writeBytes(toUnoSequence(aColon));
|
||||
}
|
||||
|
||||
write(Name);
|
||||
|
||||
writeFastAttributeList(Attribs);
|
||||
|
||||
- writeBytes(aClosingBracket);
|
||||
+ writeBytes(toUnoSequence(aClosingBracket));
|
||||
}
|
||||
|
||||
void SAL_CALL FastSaxSerializer::endFastElement( ::sal_Int32 Element )
|
||||
@@ -163,11 +165,11 @@
|
||||
if (!mxOutputStream.is())
|
||||
return;
|
||||
|
||||
- writeBytes(aOpeningBracketAndSlash);
|
||||
+ writeBytes(toUnoSequence(aOpeningBracketAndSlash));
|
||||
|
||||
writeId(Element);
|
||||
|
||||
- writeBytes(aClosingBracket);
|
||||
+ writeBytes(toUnoSequence(aClosingBracket));
|
||||
}
|
||||
|
||||
void SAL_CALL FastSaxSerializer::endUnknownElement( const OUString& Namespace, const OUString& Name )
|
||||
@@ -176,17 +178,17 @@
|
||||
if (!mxOutputStream.is())
|
||||
return;
|
||||
|
||||
- writeBytes(aOpeningBracketAndSlash);
|
||||
+ writeBytes(toUnoSequence(aOpeningBracketAndSlash));
|
||||
|
||||
if (Namespace.getLength())
|
||||
{
|
||||
write(Namespace);
|
||||
- writeBytes(aColon);
|
||||
+ writeBytes(toUnoSequence(aColon));
|
||||
}
|
||||
|
||||
write(Name);
|
||||
|
||||
- writeBytes(aClosingBracket);
|
||||
+ writeBytes(toUnoSequence(aClosingBracket));
|
||||
}
|
||||
|
||||
void SAL_CALL FastSaxSerializer::singleFastElement( ::sal_Int32 Element, const Reference< XFastAttributeList >& Attribs )
|
||||
@@ -195,12 +197,12 @@
|
||||
if (!mxOutputStream.is())
|
||||
return;
|
||||
|
||||
- writeBytes(aOpeningBracket);
|
||||
+ writeBytes(toUnoSequence(aOpeningBracket));
|
||||
|
||||
writeId(Element);
|
||||
writeFastAttributeList(Attribs);
|
||||
|
||||
- writeBytes(aSlashAndClosingBracket);
|
||||
+ writeBytes(toUnoSequence(aSlashAndClosingBracket));
|
||||
}
|
||||
|
||||
void SAL_CALL FastSaxSerializer::singleUnknownElement( const OUString& Namespace, const OUString& Name, const Reference< XFastAttributeList >& Attribs )
|
||||
@@ -209,19 +211,19 @@
|
||||
if (!mxOutputStream.is())
|
||||
return;
|
||||
|
||||
- writeBytes(aOpeningBracket);
|
||||
+ writeBytes(toUnoSequence(aOpeningBracket));
|
||||
|
||||
if (Namespace.getLength())
|
||||
{
|
||||
write(Namespace);
|
||||
- writeBytes(aColon);
|
||||
+ writeBytes(toUnoSequence(aColon));
|
||||
}
|
||||
|
||||
write(Name);
|
||||
|
||||
writeFastAttributeList(Attribs);
|
||||
|
||||
- writeBytes(aSlashAndClosingBracket);
|
||||
+ writeBytes(toUnoSequence(aSlashAndClosingBracket));
|
||||
}
|
||||
|
||||
void SAL_CALL FastSaxSerializer::characters( const OUString& aChars )
|
||||
@@ -251,12 +253,12 @@
|
||||
sal_Int32 nAttrLength = aAttrSeq.getLength();
|
||||
for (sal_Int32 i = 0; i < nAttrLength; i++)
|
||||
{
|
||||
- writeBytes(aSpace);
|
||||
+ writeBytes(toUnoSequence(aSpace));
|
||||
|
||||
write(pAttr[i].Name);
|
||||
- writeBytes(aEqualSignAndQuote);
|
||||
+ writeBytes(toUnoSequence(aEqualSignAndQuote));
|
||||
write(escapeXml(pAttr[i].Value));
|
||||
- writeBytes(aQuote);
|
||||
+ writeBytes(toUnoSequence(aQuote));
|
||||
}
|
||||
|
||||
Sequence< FastAttribute > aFastAttrSeq = Attribs->getFastAttributes();
|
||||
@@ -264,16 +266,16 @@
|
||||
sal_Int32 nFastAttrLength = aFastAttrSeq.getLength();
|
||||
for (sal_Int32 j = 0; j < nFastAttrLength; j++)
|
||||
{
|
||||
- writeBytes(aSpace);
|
||||
+ writeBytes(toUnoSequence(aSpace));
|
||||
|
||||
sal_Int32 nToken = pFastAttr[j].Token;
|
||||
writeId(nToken);
|
||||
|
||||
- writeBytes(aEqualSignAndQuote);
|
||||
+ writeBytes(toUnoSequence(aEqualSignAndQuote));
|
||||
|
||||
write(escapeXml(Attribs->getValue(pFastAttr[j].Token)));
|
||||
|
||||
- writeBytes(aQuote);
|
||||
+ writeBytes(toUnoSequence(aQuote));
|
||||
}
|
||||
}
|
||||
|
||||
--- package/inc/ZipPackageFolder.hxx 2010-06-22 11:49:17.000000000 +0100
|
||||
+++ package/inc/ZipPackageFolder.hxx 2010-06-22 12:50:26.000000000 +0100
|
||||
@@ -53,8 +53,6 @@
|
||||
::com::sun::star::container::XEnumerationAccess
|
||||
>
|
||||
{
|
||||
- static com::sun::star::uno::Sequence < sal_Int8 > aImplementationId;
|
||||
-
|
||||
protected:
|
||||
ContentHash maContents;
|
||||
const ::com::sun::star::uno::Reference < com::sun::star::lang::XMultiServiceFactory > m_xFactory;
|
||||
@@ -82,10 +80,7 @@
|
||||
throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
|
||||
|
||||
static void copyZipEntry( ZipEntry &rDest, const ZipEntry &rSource);
|
||||
- static ::com::sun::star::uno::Sequence < sal_Int8 > static_getImplementationId()
|
||||
- {
|
||||
- return aImplementationId;
|
||||
- }
|
||||
+ static const ::com::sun::star::uno::Sequence < sal_Int8 >& static_getImplementationId();
|
||||
|
||||
void setPackageFormat_Impl( sal_Int32 nFormat ) { m_nFormat = nFormat; }
|
||||
void setRemoveOnInsertMode_Impl( sal_Bool bRemove ) { this->mbAllowRemoveOnInsert = bRemove; }
|
||||
--- package/source/xstor/owriteablestream.cxx 2010-06-22 11:49:15.000000000 +0100
|
||||
+++ package/source/xstor/owriteablestream.cxx 2010-06-22 12:13:20.000000000 +0100
|
||||
@@ -53,6 +53,7 @@
|
||||
|
||||
#include <rtl/digest.h>
|
||||
#include <rtl/logfile.hxx>
|
||||
+#include <rtl/instance.hxx>
|
||||
|
||||
// since the copying uses 32000 blocks usually, it makes sense to have a smaller size
|
||||
#define MAX_STORCACHE_SIZE 30000
|
||||
@@ -2169,25 +2170,14 @@
|
||||
return m_pData->m_pTypeCollection->getTypes() ;
|
||||
}
|
||||
|
||||
+namespace { struct lcl_ImplId : public rtl::Static< ::cppu::OImplementationId, lcl_ImplId > {}; }
|
||||
+
|
||||
//-----------------------------------------------
|
||||
uno::Sequence< sal_Int8 > SAL_CALL OWriteStream::getImplementationId()
|
||||
throw( uno::RuntimeException )
|
||||
{
|
||||
- static ::cppu::OImplementationId* pID = NULL ;
|
||||
-
|
||||
- if ( pID == NULL )
|
||||
- {
|
||||
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ) ;
|
||||
-
|
||||
- if ( pID == NULL )
|
||||
- {
|
||||
- static ::cppu::OImplementationId aID( sal_False ) ;
|
||||
- pID = &aID ;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return pID->getImplementationId() ;
|
||||
-
|
||||
+ ::cppu::OImplementationId &rId = lcl_ImplId::get();
|
||||
+ return rId.getImplementationId();
|
||||
}
|
||||
|
||||
//-----------------------------------------------
|
||||
--- package/source/xstor/xstorage.cxx 2010-06-22 11:49:15.000000000 +0100
|
||||
+++ package/source/xstor/xstorage.cxx 2010-06-22 12:11:45.000000000 +0100
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <cppuhelper/typeprovider.hxx>
|
||||
#include <cppuhelper/exc_hlp.hxx>
|
||||
#include <rtl/logfile.hxx>
|
||||
+#include <rtl/instance.hxx>
|
||||
|
||||
#include <comphelper/processfactory.hxx>
|
||||
#include <comphelper/componentcontext.hxx>
|
||||
@@ -2367,25 +2368,14 @@
|
||||
return m_pData->m_pTypeCollection->getTypes() ;
|
||||
}
|
||||
|
||||
+namespace { struct lcl_ImplId : public rtl::Static< ::cppu::OImplementationId, lcl_ImplId > {}; }
|
||||
+
|
||||
//-----------------------------------------------
|
||||
uno::Sequence< sal_Int8 > SAL_CALL OStorage::getImplementationId()
|
||||
throw( uno::RuntimeException )
|
||||
{
|
||||
- static ::cppu::OImplementationId* pID = NULL ;
|
||||
-
|
||||
- if ( pID == NULL )
|
||||
- {
|
||||
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ) ;
|
||||
-
|
||||
- if ( pID == NULL )
|
||||
- {
|
||||
- static ::cppu::OImplementationId aID( sal_False ) ;
|
||||
- pID = &aID ;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return pID->getImplementationId() ;
|
||||
-
|
||||
+ ::cppu::OImplementationId &rID = lcl_ImplId::get();
|
||||
+ return rID.getImplementationId();
|
||||
}
|
||||
|
||||
//____________________________________________________________________________________________________
|
||||
--- package/source/zippackage/ZipPackage.cxx 2010-06-22 11:49:16.000000000 +0100
|
||||
+++ package/source/zippackage/ZipPackage.cxx 2010-06-22 12:12:00.000000000 +0100
|
||||
@@ -68,6 +68,7 @@
|
||||
#include <rtl/uri.hxx>
|
||||
#include <rtl/random.h>
|
||||
#include <rtl/logfile.hxx>
|
||||
+#include <rtl/instance.hxx>
|
||||
#include <osl/time.h>
|
||||
#include <osl/file.hxx>
|
||||
#include "com/sun/star/io/XAsyncOutputMonitor.hpp"
|
||||
@@ -1585,21 +1586,14 @@
|
||||
static_getSupportedServiceNames());
|
||||
}
|
||||
|
||||
+namespace { struct lcl_ImplId : public rtl::Static< ::cppu::OImplementationId, lcl_ImplId > {}; }
|
||||
+
|
||||
// XUnoTunnel
|
||||
Sequence< sal_Int8 > ZipPackage::getUnoTunnelImplementationId( void )
|
||||
throw (RuntimeException)
|
||||
{
|
||||
- static ::cppu::OImplementationId * pId = 0;
|
||||
- if (! pId)
|
||||
- {
|
||||
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
|
||||
- if (! pId)
|
||||
- {
|
||||
- static ::cppu::OImplementationId aId;
|
||||
- pId = &aId;
|
||||
- }
|
||||
- }
|
||||
- return pId->getImplementationId();
|
||||
+ ::cppu::OImplementationId &rId = lcl_ImplId::get();
|
||||
+ return rId.getImplementationId();
|
||||
}
|
||||
|
||||
sal_Int64 SAL_CALL ZipPackage::getSomething( const Sequence< sal_Int8 >& aIdentifier )
|
||||
--- package/source/zippackage/ZipPackageFolder.cxx 2010-06-22 11:49:16.000000000 +0100
|
||||
+++ package/source/zippackage/ZipPackageFolder.cxx 2010-06-22 12:50:00.000000000 +0100
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <com/sun/star/io/XSeekable.hpp>
|
||||
#include <EncryptedDataHeader.hxx>
|
||||
#include <rtl/random.h>
|
||||
+#include <rtl/instance.hxx>
|
||||
#include <memory>
|
||||
|
||||
using namespace com::sun::star::packages::zip::ZipConstants;
|
||||
@@ -59,7 +60,7 @@
|
||||
using namespace ::com::sun::star;
|
||||
using vos::ORef;
|
||||
|
||||
-Sequence < sal_Int8 > ZipPackageFolder::aImplementationId = Sequence < sal_Int8 > ();
|
||||
+namespace { struct lcl_CachedImplId : public rtl::Static< Sequence < sal_Int8 >, lcl_CachedImplId > {}; }
|
||||
|
||||
ZipPackageFolder::ZipPackageFolder ( const Reference< XMultiServiceFactory >& xFactory,
|
||||
sal_Int32 nFormat,
|
||||
@@ -80,10 +81,9 @@
|
||||
aEntry.nCompressedSize = 0;
|
||||
aEntry.nSize = 0;
|
||||
aEntry.nOffset = -1;
|
||||
- if ( !aImplementationId.getLength() )
|
||||
- {
|
||||
- aImplementationId = getImplementationId();
|
||||
- }
|
||||
+ Sequence < sal_Int8 > &rCachedImplId = lcl_CachedImplId::get();
|
||||
+ if ( !rCachedImplId.getLength() )
|
||||
+ rCachedImplId = getImplementationId();
|
||||
}
|
||||
|
||||
|
||||
@@ -187,6 +187,11 @@
|
||||
rDest.nExtraLen = rSource.nExtraLen;
|
||||
}
|
||||
|
||||
+const ::com::sun::star::uno::Sequence < sal_Int8 >& ZipPackageFolder::static_getImplementationId()
|
||||
+{
|
||||
+ return lcl_CachedImplId::get();
|
||||
+}
|
||||
+
|
||||
// XNameContainer
|
||||
void SAL_CALL ZipPackageFolder::insertByName( const OUString& aName, const Any& aElement )
|
||||
throw(IllegalArgumentException, ElementExistException, WrappedTargetException, RuntimeException)
|
||||
--- package/source/zippackage/ZipPackageStream.cxx 2010-06-22 11:49:16.000000000 +0100
|
||||
+++ package/source/zippackage/ZipPackageStream.cxx 2010-06-22 12:53:32.000000000 +0100
|
||||
@@ -45,6 +45,8 @@
|
||||
#include <comphelper/seekableinput.hxx>
|
||||
#include <comphelper/storagehelper.hxx>
|
||||
|
||||
+#include <rtl/instance.hxx>
|
||||
+
|
||||
#include <PackageConstants.hxx>
|
||||
|
||||
using namespace com::sun::star::packages::zip::ZipConstants;
|
||||
@@ -55,8 +57,12 @@
|
||||
using namespace cppu;
|
||||
using namespace rtl;
|
||||
|
||||
-Sequence < sal_Int8 > ZipPackageStream::aImplementationId = Sequence < sal_Int8 > ();
|
||||
+namespace { struct lcl_CachedImplId : public rtl::Static< Sequence < sal_Int8 >, lcl_CachedImplId > {}; }
|
||||
|
||||
+const ::com::sun::star::uno::Sequence < sal_Int8 >& ZipPackageStream::static_getImplementationId()
|
||||
+{
|
||||
+ return lcl_CachedImplId::get();
|
||||
+}
|
||||
|
||||
ZipPackageStream::ZipPackageStream ( ZipPackage & rNewPackage,
|
||||
const Reference< XMultiServiceFactory >& xFactory,
|
||||
@@ -91,10 +97,9 @@
|
||||
aEntry.nPathLen = -1;
|
||||
aEntry.nExtraLen = -1;
|
||||
|
||||
- if ( !aImplementationId.getLength() )
|
||||
- {
|
||||
- aImplementationId = getImplementationId();
|
||||
- }
|
||||
+ Sequence < sal_Int8 > &rCachedImplId = lcl_CachedImplId::get();
|
||||
+ if ( !rCachedImplId.getLength() )
|
||||
+ rCachedImplId = getImplementationId();
|
||||
}
|
||||
|
||||
ZipPackageStream::~ZipPackageStream( void )
|
||||
--- package/source/zippackage/ZipPackageStream.hxx 2010-06-22 11:49:16.000000000 +0100
|
||||
+++ package/source/zippackage/ZipPackageStream.hxx 2010-06-22 12:51:18.000000000 +0100
|
||||
@@ -55,7 +55,6 @@
|
||||
::com::sun::star::packages::XDataSinkEncrSupport
|
||||
>
|
||||
{
|
||||
- static com::sun::star::uno::Sequence < sal_Int8 > aImplementationId;
|
||||
protected:
|
||||
com::sun::star::uno::Reference < com::sun::star::io::XInputStream > xStream;
|
||||
const ::com::sun::star::uno::Reference < com::sun::star::lang::XMultiServiceFactory > m_xFactory;
|
||||
@@ -146,10 +145,7 @@
|
||||
::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getRawData()
|
||||
throw(::com::sun::star::uno::RuntimeException);
|
||||
|
||||
- static ::com::sun::star::uno::Sequence < sal_Int8 >& static_getImplementationId()
|
||||
- {
|
||||
- return aImplementationId;
|
||||
- }
|
||||
+ static const ::com::sun::star::uno::Sequence < sal_Int8 >& static_getImplementationId();
|
||||
|
||||
// XActiveDataSink
|
||||
virtual void SAL_CALL setInputStream( const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& aStream )
|
@ -0,0 +1,97 @@
|
||||
diff -r aa65062d8d37 svx/source/cui/optcolor.cxx
|
||||
--- a/cui/source/options/optcolor.cxx Mon Jan 11 19:41:39 2010 +0100
|
||||
+++ b/cui/source/options/optcolor.cxx Sat Jan 16 10:03:24 2010 +0100
|
||||
@@ -261,6 +261,9 @@
|
||||
virtual void Command( const CommandEvent& rCEvt );
|
||||
virtual void DataChanged( const DataChangedEvent& rDCEvt );
|
||||
|
||||
+ // calculate position behind last chapter
|
||||
+ sal_Int32 impl_getPosBehindLastChapter() const;
|
||||
+
|
||||
public:
|
||||
ColorConfigWindow_Impl(Window* pParent, const ResId& rResId);
|
||||
~ColorConfigWindow_Impl();
|
||||
@@ -398,7 +401,7 @@
|
||||
|
||||
/* -----------------------------25.03.2002 17:05------------------------------
|
||||
|
||||
- ---------------------------------------------------------------------------*/
|
||||
+---------------------------------------------------------------------------*/
|
||||
ColorConfigWindow_Impl::ColorConfigWindow_Impl(Window* pParent, const ResId& rResId) :
|
||||
Window(pParent, rResId),
|
||||
aGeneralBackWN(this),
|
||||
@@ -709,14 +712,14 @@
|
||||
aChapters[GROUP_CALC ]->SetGroupHeight( aChapters[GROUP_DRAW]->GetPosPixel().Y() - aChapters[GROUP_CALC]->GetPosPixel().Y() );
|
||||
aChapters[GROUP_DRAW ]->SetGroupHeight( aChapters[GROUP_BASIC]->GetPosPixel().Y() - aChapters[GROUP_DRAW]->GetPosPixel().Y() );
|
||||
aChapters[GROUP_BASIC ]->SetGroupHeight( aChapters[GROUP_SQL]->GetPosPixel().Y() - aChapters[GROUP_BASIC]->GetPosPixel().Y() );
|
||||
+ aChapters[GROUP_SQL]->SetGroupHeight(impl_getPosBehindLastChapter()
|
||||
+ - aChapters[GROUP_SQL]->GetPosPixel().Y());
|
||||
|
||||
ExtendedColorConfig aExtConfig;
|
||||
sal_Int32 nExtCount = aExtConfig.GetComponentCount();
|
||||
if ( nExtCount )
|
||||
{
|
||||
- // calculate position behind last chapter
|
||||
- sal_Int32 nLastY = aSQLCommentWN.GetPosPixel().Y() + aSQLCommentWN.GetSizePixel().Height();
|
||||
- nLastY = nLastY + LogicToPixel( Size( 0, 3 ), MAP_APPFONT ).Height();
|
||||
+ const sal_Int32 nLastY(impl_getPosBehindLastChapter());
|
||||
// to calculate the number of lines
|
||||
sal_Int32 nHeight = LogicToPixel( Size( 0, _LINE_HEIGHT ), MAP_APPFONT ).Height();
|
||||
sal_Int32 nLineNum = nLastY / nHeight;
|
||||
@@ -898,6 +901,15 @@
|
||||
aChapterWins.clear();
|
||||
::std::vector< Window*>().swap(aChapterWins);
|
||||
}
|
||||
+
|
||||
+sal_Int32
|
||||
+ColorConfigWindow_Impl::impl_getPosBehindLastChapter() const
|
||||
+{
|
||||
+ sal_Int32 nLastY = aSQLCommentWN.GetPosPixel().Y() + aSQLCommentWN.GetSizePixel().Height();
|
||||
+ nLastY = nLastY + LogicToPixel( Size( 0, 3 ), MAP_APPFONT ).Height();
|
||||
+ return nLastY;
|
||||
+}
|
||||
+
|
||||
/* -----------------------------2002/06/20 12:48------------------------------
|
||||
|
||||
---------------------------------------------------------------------------*/
|
||||
@@ -1175,9 +1187,9 @@
|
||||
/* -----------------------------26.03.2002 12:55------------------------------
|
||||
|
||||
---------------------------------------------------------------------------*/
|
||||
-sal_Bool lcl_MoveAndShow(Window* pWindow, long nOffset, long nMaxVisible, bool _bShow)
|
||||
+sal_Bool lcl_MoveAndShow(Window* pWindow, long nOffset, long nMaxVisible, sal_Bool _bShow)
|
||||
{
|
||||
- BOOL bHide = TRUE;
|
||||
+ sal_Bool bHide = TRUE;
|
||||
if(pWindow)
|
||||
{
|
||||
Point aPos = pWindow->GetPosPixel();
|
||||
@@ -1206,12 +1218,14 @@
|
||||
continue;
|
||||
Point aPos;
|
||||
//controls outside of the view need to be hidden to speed up accessibility tools
|
||||
- bool bShowCtrl = ( lcl_isGroupVisible(
|
||||
+ sal_Bool bShowCtrl = ( lcl_isGroupVisible(
|
||||
lcl_getGroup(i), aScrollWindow.GetModuleOptions() ) != sal_False );
|
||||
- lcl_MoveAndShow(aScrollWindow.aCheckBoxes[i], nOffset, nWindowHeight, bShowCtrl);
|
||||
- lcl_MoveAndShow(aScrollWindow.aFixedTexts[i], nOffset, nWindowHeight, bShowCtrl);
|
||||
- lcl_MoveAndShow(aScrollWindow.aWindows[i] , nOffset, nWindowHeight, bShowCtrl);
|
||||
- BOOL bShow = lcl_MoveAndShow(aScrollWindow.aColorBoxes[i], nOffset, nWindowHeight, bShowCtrl);
|
||||
+ // if any of the items on the current line is visible, the
|
||||
+ // whole line should be visible
|
||||
+ sal_Bool bShow(lcl_MoveAndShow(aScrollWindow.aCheckBoxes[i], nOffset, nWindowHeight, bShowCtrl));
|
||||
+ bShow = lcl_MoveAndShow(aScrollWindow.aFixedTexts[i], nOffset, nWindowHeight, bShowCtrl) || bShow;
|
||||
+ bShow = lcl_MoveAndShow(aScrollWindow.aWindows[i] , nOffset, nWindowHeight, bShowCtrl) || bShow;
|
||||
+ bShow = lcl_MoveAndShow(aScrollWindow.aColorBoxes[i], nOffset, nWindowHeight, bShowCtrl) || bShow;
|
||||
if(bShow)
|
||||
{
|
||||
if(nFirstVisible == -1)
|
||||
@@ -1223,7 +1237,7 @@
|
||||
//show the one prior to the first visible and the first after the last visble control
|
||||
//to enable KEY_TAB travelling
|
||||
|
||||
- if(nFirstVisible)
|
||||
+ if(nFirstVisible > 0)
|
||||
{
|
||||
//skip gaps where no controls exist for the related ColorConfigEntry
|
||||
do
|
@ -0,0 +1,41 @@
|
||||
diff -r 3c24aa9a7810 sfx2/source/doc/guisaveas.cxx
|
||||
--- a/sfx2/source/doc/guisaveas.cxx Sat Jan 23 16:31:03 2010 +0000
|
||||
+++ b/sfx2/source/doc/guisaveas.cxx Sun Jan 24 17:16:37 2010 +0000
|
||||
@@ -231,7 +231,7 @@
|
||||
sal_Bool bSetStandardName,
|
||||
::rtl::OUString& aSuggestedName,
|
||||
sal_Bool bPreselectPassword,
|
||||
- const ::rtl::OUString& aSuggestedDir,
|
||||
+ ::rtl::OUString& aSuggestedDir,
|
||||
sal_Int16 nDialog,
|
||||
const ::rtl::OUString& rStandardDir,
|
||||
const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rBlackList
|
||||
@@ -731,7 +731,7 @@
|
||||
sal_Bool bSetStandardName,
|
||||
::rtl::OUString& aSuggestedName,
|
||||
sal_Bool bPreselectPassword,
|
||||
- const ::rtl::OUString& aSuggestedDir,
|
||||
+ ::rtl::OUString& aSuggestedDir,
|
||||
sal_Int16 nDialog,
|
||||
const ::rtl::OUString& rStandardDir,
|
||||
const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rBlackList)
|
||||
@@ -927,6 +927,7 @@
|
||||
INetURLObject aURL( pFileDlg->GetPath() );
|
||||
// the path should be provided outside since it might be used for further calls to the dialog
|
||||
aSuggestedName = aURL.GetName( INetURLObject::DECODE_WITH_CHARSET );
|
||||
+ aSuggestedDir = pFileDlg->GetDisplayDirectory();
|
||||
|
||||
// old filter options should be cleared in case different filter is used
|
||||
|
||||
@@ -1412,10 +1413,8 @@
|
||||
sal_Bool bExit = sal_False;
|
||||
while ( !bExit )
|
||||
{
|
||||
+ // in case the dialog is opened a second time the folder should be the same as previously navigated to by the user, not what was handed over by initial parameters
|
||||
bUseFilterOptions = aModelData.OutputFileDialog( nStoreMode, aFilterProps, bSetStandardName, aSuggestedName, bPreselectPassword, aSuggestedDir, nDialog, sStandardDir, aBlackList );
|
||||
-
|
||||
- // in case the dialog is opend a second time the folder should be the same as before, not what was handed over by parameters
|
||||
- aSuggestedDir = ::rtl::OUString();
|
||||
if ( nStoreMode == SAVEAS_REQUESTED )
|
||||
{
|
||||
// in case of saving check filter for possible alien warning
|
@ -0,0 +1,21 @@
|
||||
diff -ru sd.orig/source/ui/slideshow/slideshow.cxx sd/source/ui/slideshow/slideshow.cxx
|
||||
--- sd.orig/source/ui/slideshow/slideshow.cxx 2010-05-21 15:44:15.000000000 +0100
|
||||
+++ sd/source/ui/slideshow/slideshow.cxx 2010-05-21 15:45:57.000000000 +0100
|
||||
@@ -699,6 +699,8 @@
|
||||
ViewShellBase* pFullScreenViewShellBase = mpFullScreenViewShellBase;
|
||||
mpFullScreenViewShellBase = 0;
|
||||
|
||||
+ xController->dispose();
|
||||
+
|
||||
if( pFullScreenViewShellBase )
|
||||
{
|
||||
PresentationViewShell* pShell = dynamic_cast<PresentationViewShell*>(pFullScreenViewShellBase->GetMainViewShell().get());
|
||||
@@ -713,8 +715,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
- xController->dispose();
|
||||
-
|
||||
if( pFullScreenViewShellBase )
|
||||
{
|
||||
PresentationViewShell* pShell = NULL;
|
@ -0,0 +1,16 @@
|
||||
# HG changeset patch
|
||||
# Parent 25cb853961c8c5bcbe8833e2cd2323707a3d204b
|
||||
#i112059# avoid possible null pointer dereference
|
||||
|
||||
diff -r 25cb853961c8 sw/source/filter/ww8/ww8graf.cxx
|
||||
--- a/sw/source/filter/ww8/ww8graf.cxx Tue Jun 01 06:52:22 2010 +0200
|
||||
+++ b/sw/source/filter/ww8/ww8graf.cxx Thu Jun 03 08:30:49 2010 +0200
|
||||
@@ -2833,7 +2833,7 @@
|
||||
MapWrapIntoFlyFmt(pRecord, pRetFrmFmt);
|
||||
|
||||
// Set frame name with object name
|
||||
- if( aObjName.Len() )
|
||||
+ if( pRetFrmFmt /*#i52825# */ && aObjName.Len() )
|
||||
pRetFrmFmt->SetName( aObjName );
|
||||
return AddAutoAnchor(pRetFrmFmt);
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
--- sw/source/filter/ww8/ww8atr.cxx 2010-06-14 14:19:56.000000000 +0100
|
||||
+++ sw/source/filter/ww8/ww8atr.cxx 2010-06-14 14:20:18.000000000 +0100
|
||||
@@ -2298,7 +2298,7 @@
|
||||
if( sStyle.Len() )
|
||||
{
|
||||
SwTxtFmtColl* pColl = GetExport().pDoc->FindTxtFmtCollByName(sStyle);
|
||||
- if (!pColl->IsAssignedToListLevelOfOutlineStyle() || pColl->GetAssignedOutlineStyleLevel() < nTOXLvl)
|
||||
+ if (!pColl || !pColl->IsAssignedToListLevelOfOutlineStyle() || pColl->GetAssignedOutlineStyleLevel() < nTOXLvl)
|
||||
{
|
||||
if( sTOption.Len() )
|
||||
sTOption += ',';
|
@ -0,0 +1,55 @@
|
||||
diff -ru desktop.orig/source/deployment/misc/dp_misc.cxx desktop/source/deployment/misc/dp_misc.cxx
|
||||
--- desktop.orig/source/deployment/misc/dp_misc.cxx 2010-07-20 08:31:24.000000000 +0100
|
||||
+++ desktop/source/deployment/misc/dp_misc.cxx 2010-07-20 09:12:23.000000000 +0100
|
||||
@@ -143,6 +143,23 @@
|
||||
return pipe.is();
|
||||
}
|
||||
|
||||
+//get modification time
|
||||
+static bool getModifyTimeTargetFile(const OUString &rFileURL, TimeValue &rTime)
|
||||
+{
|
||||
+ ::osl::DirectoryItem item;
|
||||
+ if (::osl::DirectoryItem::get(rFileURL, item) != ::osl::File::E_None)
|
||||
+ return false;
|
||||
+
|
||||
+ ::osl::FileStatus stat(FileStatusMask_ModifyTime|FileStatusMask_Type|FileStatusMask_LinkTargetURL);
|
||||
+ if (item.getFileStatus(stat) != ::osl::File::E_None)
|
||||
+ return false;
|
||||
+
|
||||
+ if( stat.getFileType() == ::osl::FileStatus::Link )
|
||||
+ return getModifyTimeTargetFile(stat.getLinkTargetURL(), rTime);
|
||||
+
|
||||
+ rTime = stat.getModifyTime();
|
||||
+ return true;
|
||||
+}
|
||||
|
||||
//Returns true if the Folder was more recently modified then
|
||||
//the lastsynchronized file. That is the repository needs to
|
||||
@@ -181,15 +198,12 @@
|
||||
|
||||
//compare the modification time of the extension folder and the last
|
||||
//modified file
|
||||
- ::osl::FileStatus statFolder(FileStatusMask_ModifyTime);
|
||||
- ::osl::FileStatus statFile(FileStatusMask_ModifyTime);
|
||||
- if (itemExtFolder.getFileStatus(statFolder) == ::osl::File::E_None)
|
||||
+ TimeValue timeFolder;
|
||||
+ if (getModifyTimeTargetFile(folderURL, timeFolder))
|
||||
{
|
||||
- if (itemFile.getFileStatus(statFile) == ::osl::File::E_None)
|
||||
+ TimeValue timeFile;
|
||||
+ if (getModifyTimeTargetFile(fileURL, timeFile))
|
||||
{
|
||||
- TimeValue timeFolder = statFolder.getModifyTime();
|
||||
- TimeValue timeFile = statFile.getModifyTime();
|
||||
-
|
||||
if (timeFile.Seconds < timeFolder.Seconds)
|
||||
bNeedsSync = true;
|
||||
}
|
||||
@@ -204,6 +218,7 @@
|
||||
OSL_ASSERT(0);
|
||||
bNeedsSync = true;
|
||||
}
|
||||
+
|
||||
return bNeedsSync;
|
||||
}
|
||||
|
@ -0,0 +1,66 @@
|
||||
--- sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 2010-08-27 13:38:58.000000000 +0100
|
||||
+++ sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 2010-08-27 13:34:27.000000000 +0100
|
||||
@@ -109,7 +109,6 @@
|
||||
const Reference<XAccessible>& rxParent,
|
||||
::Window* pContentWindow)
|
||||
: AccessibleSlideSorterViewBase(MutexOwner::maMutex),
|
||||
- mpImpl(new Implementation(*this,rSlideSorter,pContentWindow)),
|
||||
mrSlideSorter(rSlideSorter),
|
||||
mxParent(rxParent),
|
||||
mnClientId(0),
|
||||
@@ -121,6 +120,16 @@
|
||||
|
||||
|
||||
|
||||
+
|
||||
+void AccessibleSlideSorterView::Init()
|
||||
+{
|
||||
+ mpImpl.reset(new Implementation(*this,mrSlideSorter,mpContentWindow));
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
AccessibleSlideSorterView::~AccessibleSlideSorterView (void)
|
||||
{
|
||||
Destroyed ();
|
||||
--- sd/source/ui/inc/AccessibleSlideSorterView.hxx 2010-08-27 13:01:53.000000000 +0100
|
||||
+++ sd/source/ui/inc/AccessibleSlideSorterView.hxx 2010-08-27 13:30:28.000000000 +0100
|
||||
@@ -76,6 +76,8 @@
|
||||
::sd::slidesorter::SlideSorter& rSlideSorter,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> & rxParent,
|
||||
::Window* pParentWindow);
|
||||
+
|
||||
+ void Init();
|
||||
|
||||
virtual ~AccessibleSlideSorterView (void);
|
||||
|
||||
--- sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx 2010-08-27 13:01:53.000000000 +0100
|
||||
+++ sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx 2010-08-27 13:41:43.000000000 +0100
|
||||
@@ -273,16 +273,22 @@
|
||||
SlideSorterViewShell::CreateAccessibleDocumentView (::sd::Window* pWindow)
|
||||
{
|
||||
OSL_ASSERT(mpSlideSorter.get()!=NULL);
|
||||
-
|
||||
// When the view is not set then the initialization is not yet complete
|
||||
// and we can not yet provide an accessibility object.
|
||||
- if (mpView == NULL)
|
||||
+ if (mpView == NULL || mpSlideSorter.get() == NULL)
|
||||
return NULL;
|
||||
|
||||
- return new ::accessibility::AccessibleSlideSorterView (
|
||||
+ ::accessibility::AccessibleSlideSorterView *pAccessibleView =
|
||||
+ new ::accessibility::AccessibleSlideSorterView(
|
||||
*mpSlideSorter.get(),
|
||||
pWindow->GetAccessibleParentWindow()->GetAccessible(),
|
||||
pWindow);
|
||||
+
|
||||
+ ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> xRet(pAccessibleView);
|
||||
+
|
||||
+ pAccessibleView->Init();
|
||||
+
|
||||
+ return xRet;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,30 @@
|
||||
diff -r 1ddfe565e084 vcl/unx/source/fontmanager/fontconfig.cxx
|
||||
--- a/vcl/unx/source/fontmanager/fontconfig.cxx Thu Sep 23 09:39:43 2010 +0100
|
||||
+++ b/vcl/unx/source/fontmanager/fontconfig.cxx Thu Sep 23 14:13:17 2010 +0100
|
||||
@@ -512,19 +512,24 @@
|
||||
for (std::vector<lang_and_family>::const_iterator aIter = families.begin(); aIter != aEnd; ++aIter)
|
||||
{
|
||||
const char *pLang = (const char*)aIter->first;
|
||||
- //perfect
|
||||
if( rtl_str_compare(pLang,sFullMatch.getStr() ) == 0)
|
||||
{
|
||||
+ //perfect match
|
||||
candidate = aIter->second;
|
||||
break;
|
||||
}
|
||||
else if( (rtl_str_compare(pLang,sLangMatch.getStr()) == 0) && (!alreadyclosematch))
|
||||
{
|
||||
+ //fairly close
|
||||
candidate = aIter->second;
|
||||
alreadyclosematch = true;
|
||||
}
|
||||
+ else if( (rtl_str_compare(pLang,"en") == 0) && (!alreadyclosematch) )
|
||||
+ {
|
||||
+ //english name
|
||||
+ candidate = aIter->second;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
return candidate;
|
||||
}
|
||||
}
|
@ -0,0 +1,167 @@
|
||||
diff -ru ucb.orig/source/ucp/webdav/NeonHeadRequest.cxx ucb/source/ucp/webdav/NeonHeadRequest.cxx
|
||||
--- ucb.orig/source/ucp/webdav/NeonHeadRequest.cxx 2010-09-27 11:08:46.000000000 +0100
|
||||
+++ ucb/source/ucp/webdav/NeonHeadRequest.cxx 2010-09-27 13:21:17.000000000 +0100
|
||||
@@ -156,6 +156,8 @@
|
||||
// Constructor
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
+extern osl::Mutex aGlobalNeonMutex;
|
||||
+
|
||||
NeonHeadRequest::NeonHeadRequest( HttpSession* inSession,
|
||||
const rtl::OUString & inPath,
|
||||
const std::vector< ::rtl::OUString > &
|
||||
@@ -179,7 +181,10 @@
|
||||
ne_add_response_header_catcher( req, NHR_ResponseHeaderCatcher, &aCtx );
|
||||
#endif
|
||||
|
||||
- nError = ne_request_dispatch( req );
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ nError = ne_request_dispatch( req );
|
||||
+ }
|
||||
|
||||
#if NEON_VERSION >= 0x0250
|
||||
process_headers(req, ioResource, inHeaderNames);
|
||||
diff -ru ucb.orig/source/ucp/webdav/NeonSession.cxx ucb/source/ucp/webdav/NeonSession.cxx
|
||||
--- ucb.orig/source/ucp/webdav/NeonSession.cxx 2010-09-27 11:08:46.000000000 +0100
|
||||
+++ ucb/source/ucp/webdav/NeonSession.cxx 2010-09-27 13:26:01.000000000 +0100
|
||||
@@ -618,7 +618,12 @@
|
||||
// -------------------------------------------------------------------
|
||||
// static members!
|
||||
bool NeonSession::m_bGlobalsInited = false;
|
||||
-osl::Mutex NeonSession::m_aGlobalMutex;
|
||||
+//See https://bugzilla.redhat.com/show_bug.cgi?id=544619#c4
|
||||
+//neon is threadsafe, but uses gnutls which is only thread-safe
|
||||
+//if initialized to be thread-safe. cups, unfortunately, generally
|
||||
+//initializes it first, and as non-thread-safe, leaving the entire
|
||||
+//stack unsafe
|
||||
+osl::Mutex aGlobalNeonMutex;
|
||||
NeonLockStore NeonSession::m_aNeonLockStore;
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
@@ -647,7 +652,10 @@
|
||||
{
|
||||
if ( m_pHttpSession )
|
||||
{
|
||||
- ne_session_destroy( m_pHttpSession );
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ ne_session_destroy( m_pHttpSession );
|
||||
+ }
|
||||
m_pHttpSession = 0;
|
||||
}
|
||||
delete static_cast< RequestDataMap * >( m_pRequestData );
|
||||
@@ -673,11 +681,7 @@
|
||||
if ( m_pHttpSession == 0 )
|
||||
{
|
||||
// Ensure that Neon sockets are initialized
|
||||
-
|
||||
- // --> tkr #151111# crashed if copy and pasted pictures from the internet
|
||||
- // ne_sock_init() was executed by two threads at the same time.
|
||||
- osl::Guard< osl::Mutex > theGlobalGuard( m_aGlobalMutex );
|
||||
- // <--
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
if ( !m_bGlobalsInited )
|
||||
{
|
||||
if ( ne_sock_init() != 0 )
|
||||
@@ -726,7 +730,10 @@
|
||||
m_nProxyPort = rProxyCfg.nPort;
|
||||
|
||||
// new session needed, destroy old first
|
||||
- ne_session_destroy( m_pHttpSession );
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ ne_session_destroy( m_pHttpSession );
|
||||
+ }
|
||||
m_pHttpSession = 0;
|
||||
bCreateNewSession = true;
|
||||
}
|
||||
@@ -739,14 +746,15 @@
|
||||
// currently (0.22.0) neon does not allow to pass the user info
|
||||
// to the session
|
||||
|
||||
- m_pHttpSession = ne_session_create(
|
||||
- rtl::OUStringToOString( m_aScheme,
|
||||
- RTL_TEXTENCODING_UTF8 ).getStr(),
|
||||
- /* theUri.GetUserInfo(),
|
||||
- @@@ for FTP via HTTP proxy, but not supported by Neon */
|
||||
- rtl::OUStringToOString( m_aHostName,
|
||||
- RTL_TEXTENCODING_UTF8 ).getStr(),
|
||||
- m_nPort );
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ m_pHttpSession = ne_session_create(
|
||||
+ rtl::OUStringToOString( m_aScheme, RTL_TEXTENCODING_UTF8 ).getStr(),
|
||||
+ /* theUri.GetUserInfo(),
|
||||
+ @@@ for FTP via HTTP proxy, but not supported by Neon */
|
||||
+ rtl::OUStringToOString( m_aHostName, RTL_TEXTENCODING_UTF8 ).getStr(),
|
||||
+ m_nPort );
|
||||
+ }
|
||||
|
||||
if ( m_pHttpSession == 0 )
|
||||
throw DAVException( DAVException::DAV_SESSION_CREATE,
|
||||
@@ -1638,12 +1646,11 @@
|
||||
void NeonSession::abort()
|
||||
throw ( DAVException )
|
||||
{
|
||||
- // 11.11.09 (tkr): The following code lines causing crashes if
|
||||
- // closing a ongoing connection. It turned out that this existing
|
||||
- // solution doesn't work in multi-threading environments.
|
||||
- // So I disabled them in 3.2. . Issue #73893# should fix it in OOo 3.3.
|
||||
- //if ( m_pHttpSession )
|
||||
- // ne_close_connection( m_pHttpSession );
|
||||
+ if ( m_pHttpSession )
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ ne_close_connection( m_pHttpSession );
|
||||
+ }
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
@@ -1934,7 +1941,10 @@
|
||||
ne_decompress * dc
|
||||
= ne_decompress_reader( req, ne_accept_2xx, reader, userdata );
|
||||
|
||||
- ret = ne_request_dispatch( req );
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ ret = ne_request_dispatch( req );
|
||||
+ }
|
||||
|
||||
#if NEON_VERSION >= 0x0250
|
||||
if ( getheaders )
|
||||
@@ -1974,7 +1984,10 @@
|
||||
|
||||
ne_set_request_body_buffer( req, buffer, size );
|
||||
|
||||
- ret = ne_request_dispatch( req );
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ ret = ne_request_dispatch( req );
|
||||
+ }
|
||||
|
||||
if ( ret == NE_OK && ne_get_status( req )->klass != 2 )
|
||||
ret = NE_ERROR;
|
||||
@@ -2019,7 +2032,10 @@
|
||||
|
||||
ne_set_request_body_buffer( req, buffer, strlen( buffer ) );
|
||||
|
||||
- ret = ne_request_dispatch( req );
|
||||
+ {
|
||||
+ osl::Guard< osl::Mutex > theGlobalGuard( aGlobalNeonMutex );
|
||||
+ ret = ne_request_dispatch( req );
|
||||
+ }
|
||||
|
||||
//if ( ctx.error )
|
||||
// ret = NE_ERROR;
|
||||
diff -ru ucb.orig/source/ucp/webdav/NeonSession.hxx ucb/source/ucp/webdav/NeonSession.hxx
|
||||
--- ucb.orig/source/ucp/webdav/NeonSession.hxx 2010-09-27 11:08:46.000000000 +0100
|
||||
+++ ucb/source/ucp/webdav/NeonSession.hxx 2010-09-27 13:06:43.000000000 +0100
|
||||
@@ -66,7 +66,6 @@
|
||||
DAVRequestEnvironment m_aEnv;
|
||||
|
||||
static bool m_bGlobalsInited;
|
||||
- static osl::Mutex m_aGlobalMutex;
|
||||
static NeonLockStore m_aNeonLockStore;
|
||||
|
||||
protected:
|
@ -0,0 +1,64 @@
|
||||
diff -r 5f77587494c6 editeng/source/editeng/eehtml.cxx
|
||||
--- a/editeng/source/editeng/eehtml.cxx Mon Sep 27 20:33:10 2010 +0100
|
||||
+++ b/editeng/source/editeng/eehtml.cxx Tue Sep 28 16:23:00 2010 +0100
|
||||
@@ -633,15 +633,30 @@
|
||||
SfxItemSet aItems( aCurSel.Max().GetNode()->GetContentAttribs().GetItems() );
|
||||
|
||||
aItems.ClearItem( EE_PARA_ULSPACE );
|
||||
+
|
||||
aItems.ClearItem( EE_CHAR_FONTHEIGHT );
|
||||
aItems.ClearItem( EE_CHAR_FONTINFO );
|
||||
aItems.ClearItem( EE_CHAR_WEIGHT );
|
||||
|
||||
+ aItems.ClearItem( EE_CHAR_FONTHEIGHT_CJK );
|
||||
+ aItems.ClearItem( EE_CHAR_FONTINFO_CJK );
|
||||
+ aItems.ClearItem( EE_CHAR_WEIGHT_CJK );
|
||||
+
|
||||
+ aItems.ClearItem( EE_CHAR_FONTHEIGHT_CTL );
|
||||
+ aItems.ClearItem( EE_CHAR_FONTINFO_CTL );
|
||||
+ aItems.ClearItem( EE_CHAR_WEIGHT_CTL );
|
||||
+
|
||||
// Fett in den ersten 3 Headings
|
||||
if ( ( nHLevel >= 1 ) && ( nHLevel <= 3 ) )
|
||||
{
|
||||
SvxWeightItem aWeightItem( WEIGHT_BOLD, EE_CHAR_WEIGHT );
|
||||
aItems.Put( aWeightItem );
|
||||
+
|
||||
+ SvxWeightItem aWeightItemCJK( WEIGHT_BOLD, EE_CHAR_WEIGHT_CJK );
|
||||
+ aItems.Put( aWeightItem );
|
||||
+
|
||||
+ SvxWeightItem aWeightItemCTL( WEIGHT_BOLD, EE_CHAR_WEIGHT_CTL );
|
||||
+ aItems.Put( aWeightItem );
|
||||
}
|
||||
|
||||
// Fonthoehe und Abstaende, wenn LogicToLogic moeglich:
|
||||
@@ -660,9 +675,16 @@
|
||||
nPoints = 11;
|
||||
|
||||
nPoints = OutputDevice::LogicToLogic( nPoints, MAP_POINT, eUnit );
|
||||
+
|
||||
SvxFontHeightItem aHeightItem( nPoints, 100, EE_CHAR_FONTHEIGHT );
|
||||
aItems.Put( aHeightItem );
|
||||
|
||||
+ SvxFontHeightItem aHeightItemCJK( nPoints, 100, EE_CHAR_FONTHEIGHT_CJK );
|
||||
+ aItems.Put( aHeightItemCJK );
|
||||
+
|
||||
+ SvxFontHeightItem aHeightItemCTL( nPoints, 100, EE_CHAR_FONTHEIGHT_CTL );
|
||||
+ aItems.Put( aHeightItemCTL );
|
||||
+
|
||||
// Absatzabstaende, wenn Heading:
|
||||
if ( !nHLevel || ((nHLevel >= 1) && (nHLevel <= 6)) )
|
||||
{
|
||||
@@ -679,6 +701,12 @@
|
||||
Font aFont = OutputDevice::GetDefaultFont( DEFAULTFONT_FIXED, LANGUAGE_SYSTEM, 0 );
|
||||
SvxFontItem aFontItem( aFont.GetFamily(), aFont.GetName(), XubString(), aFont.GetPitch(), aFont.GetCharSet(), EE_CHAR_FONTINFO );
|
||||
aItems.Put( aFontItem );
|
||||
+
|
||||
+ SvxFontItem aFontItemCJK( aFont.GetFamily(), aFont.GetName(), XubString(), aFont.GetPitch(), aFont.GetCharSet(), EE_CHAR_FONTINFO_CJK );
|
||||
+ aItems.Put( aFontItemCJK );
|
||||
+
|
||||
+ SvxFontItem aFontItemCTL( aFont.GetFamily(), aFont.GetName(), XubString(), aFont.GetPitch(), aFont.GetCharSet(), EE_CHAR_FONTINFO_CTL );
|
||||
+ aItems.Put( aFontItemCTL );
|
||||
}
|
||||
|
||||
pImpEditEngine->SetParaAttribs( nNode, aItems );
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ex="http://openoffice.org/extensions/description/2006" version="1.0">
|
||||
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="ex:registration"/>
|
||||
|
||||
</xsl:stylesheet>
|
@ -0,0 +1,30 @@
|
||||
18f577b374d60b3c760a3a3350407632 18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
|
||||
1f24ab1d39f4a51faf22244c94a6203f 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
|
||||
35c94d2df8893241173de1d16b6034c0 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
|
||||
798b2ffdc8bcfe7bca2cf92b62caf685 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
|
||||
a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
||||
8c994b7e7873b30d70dccc3918cdfbc0 acor_lt.zip
|
||||
ada24d37d8d638b3d8a9985e80bc2978 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
|
||||
fdb27bfe2dbe2e7b57ae194d9bf36bab fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
|
||||
5340511b6bc2043f642be4ee1e8bf3a7 libreoffice-artwork-3.2.99.1.tar.bz2
|
||||
6ef55d438e487e243f96e5c7ce3fe6ec libreoffice-base-3.2.99.1.tar.bz2
|
||||
57b68ba83440a900533b40063191cfa5 libreoffice-bootstrap-3.2.99.1.tar.bz2
|
||||
daa04e0294bee6c285f004896aa609c8 libreoffice-calc-3.2.99.1.tar.bz2
|
||||
8a9393624078d473ac4480cb6b549c20 libreoffice-components-3.2.99.1.tar.bz2
|
||||
271da86a068de92d57e4f9c65d512cc5 libreoffice-extensions-3.2.99.1.tar.bz2
|
||||
436f19879bd561eef407ce74a3e9f18e libreoffice-extras-3.2.99.1.tar.bz2
|
||||
42332f99506dff9780ebcd5d65b60034 libreoffice-filters-3.2.99.1.tar.bz2
|
||||
fe17733e7afa553d25b57fb9c7dcfa2c libreoffice-help-3.2.99.1.tar.bz2
|
||||
d6dc499bc930629304b1aa3abdfada76 libreoffice-impress-3.2.99.1.tar.bz2
|
||||
921f6e161f33b66fbc7c550bfeb74e6f libreoffice-l10n-3.2.99.1.tar.bz2
|
||||
9c5bdbb9aac46518aeb033e3a63184e2 libreoffice-libs-core-3.2.99.1.tar.bz2
|
||||
5299b08196e521e1fcd4f7665ab0aea9 libreoffice-libs-extern-3.2.99.1.tar.bz2
|
||||
d9d45344146d591c51f944fcdc62ee6c libreoffice-libs-extern-sys-3.2.99.1.tar.bz2
|
||||
f8638cdfbd58b2a367cf3fe70b4b0c44 libreoffice-libs-gui-3.2.99.1.tar.bz2
|
||||
9df015c8299af8bf8b88d5b6288fd6fa libreoffice-postprocess-3.2.99.1.tar.bz2
|
||||
acbc48dba8bff10b1b5cf46f57597549 libreoffice-sdk-3.2.99.1.tar.bz2
|
||||
2cf115243dcfa686868e49927437d61f libreoffice-testing-3.2.99.1.tar.bz2
|
||||
310bf13fb37477cb0b533e92596c4c23 libreoffice-ure-3.2.99.1.tar.bz2
|
||||
1fb344dd20334f42d7632e2f76ffb54c libreoffice-writer-3.2.99.1.tar.bz2
|
||||
7d38610a11453ee5d12aefe7abda7e91 redhat-langpacks.tar.gz
|
||||
f7d976ca8f993913c7b20d88f9961082 redhat-registry.tar.gz
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,11 @@
|
||||
diff -r 87f4911ea629 canvas/source/cairo/cairo_canvashelper.cxx
|
||||
--- a/canvas/source/cairo/cairo_canvashelper.cxx Mon Aug 02 18:43:47 2010 +0200
|
||||
+++ b/canvas/source/cairo/cairo_canvashelper.cxx Mon Aug 16 14:06:14 2010 +0100
|
||||
@@ -1395,6 +1395,7 @@
|
||||
::rtl::math::approxEqual( aMatrix.x0, 0 ) &&
|
||||
::rtl::math::approxEqual( aMatrix.y0, 0 ) )
|
||||
cairo_set_operator( mpCairo.get(), CAIRO_OPERATOR_SOURCE );
|
||||
+ cairo_pattern_set_extend( cairo_get_source(mpCairo.get()), CAIRO_EXTEND_PAD );
|
||||
cairo_rectangle( mpCairo.get(), 0, 0, aBitmapSize.Width, aBitmapSize.Height );
|
||||
cairo_clip( mpCairo.get() );
|
||||
|
@ -0,0 +1,379 @@
|
||||
diff -r 5893d50a0b8c desktop/source/app/app.cxx
|
||||
--- a/desktop/source/app/app.cxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/desktop/source/app/app.cxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -2129,23 +2129,8 @@
|
||||
hMouseSettings.SetFollow( aAppearanceCfg.IsMenuMouseFollow() ? (nFollow|MOUSE_FOLLOW_MENU) : (nFollow&~MOUSE_FOLLOW_MENU));
|
||||
rSettings.SetMouseSettings(hMouseSettings);
|
||||
|
||||
- BOOL bUseImagesInMenus = hStyleSettings.GetUseImagesInMenus();
|
||||
-
|
||||
SvtMenuOptions aMenuOpt;
|
||||
- nGet = aMenuOpt.GetMenuIconsState();
|
||||
- switch ( nGet )
|
||||
- {
|
||||
- case 0:
|
||||
- bUseImagesInMenus = FALSE;
|
||||
- break;
|
||||
- case 1:
|
||||
- bUseImagesInMenus = TRUE;
|
||||
- break;
|
||||
- case 2:
|
||||
- default:
|
||||
- break;
|
||||
- }
|
||||
- hStyleSettings.SetUseImagesInMenus(bUseImagesInMenus);
|
||||
+ hStyleSettings.SetUseImagesInMenus(aMenuOpt.GetMenuIconsState());
|
||||
|
||||
sal_uInt16 nTabStyle = hStyleSettings.GetTabControlStyle();
|
||||
nTabStyle &= ~STYLE_TABCONTROL_SINGLELINE;
|
||||
diff -r 5893d50a0b8c framework/source/classes/menumanager.cxx
|
||||
--- a/framework/source/classes/menumanager.cxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/framework/source/classes/menumanager.cxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -169,11 +169,13 @@
|
||||
{
|
||||
USHORT nItemId = FillItemCommand(aItemCommand,pMenu, i );
|
||||
bool bShowMenuImages( m_bShowMenuImages );
|
||||
- MenuItemBits nBits = pMenu->GetItemBits( nItemId );
|
||||
- // overwrite the default?
|
||||
- if ( nBits )
|
||||
+
|
||||
+ // overwrite the show icons on menu option?
|
||||
+ if (!bShowMenuImages)
|
||||
+ {
|
||||
+ MenuItemBits nBits = pMenu->GetItemBits( nItemId );
|
||||
bShowMenuImages = ( ( nBits & MIB_ICON ) == MIB_ICON );
|
||||
-
|
||||
+ }
|
||||
|
||||
PopupMenu* pPopupMenu = pMenu->GetPopupMenu( nItemId );
|
||||
if ( pPopupMenu )
|
||||
@@ -1137,10 +1139,12 @@
|
||||
if ( _pMenu->GetItemType( nPos ) != MENUITEM_SEPARATOR )
|
||||
{
|
||||
bool bTmpShowMenuImages( bShowMenuImages );
|
||||
- MenuItemBits nBits = _pMenu->GetItemBits( nId );
|
||||
- // overwrite the default?
|
||||
- if ( nBits )
|
||||
+ // overwrite the show icons on menu option?
|
||||
+ if (!bTmpShowMenuImages)
|
||||
+ {
|
||||
+ MenuItemBits nBits = _pMenu->GetItemBits( nId );
|
||||
bTmpShowMenuImages = ( ( nBits & MIB_ICON ) == MIB_ICON );
|
||||
+ }
|
||||
|
||||
if ( bTmpShowMenuImages )
|
||||
{
|
||||
diff -r 5893d50a0b8c framework/source/uielement/menubarmanager.cxx
|
||||
--- a/framework/source/uielement/menubarmanager.cxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/framework/source/uielement/menubarmanager.cxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -1331,10 +1331,12 @@
|
||||
Reference< XStatusListener > xStatusListener;
|
||||
PopupMenu* pPopup = pMenu->GetPopupMenu( nItemId );
|
||||
bool bItemShowMenuImages = m_bShowMenuImages;
|
||||
- MenuItemBits nBits = pMenu->GetItemBits( nItemId );
|
||||
// overwrite the show icons on menu option?
|
||||
- if ( nBits )
|
||||
+ if (!bItemShowMenuImages)
|
||||
+ {
|
||||
+ MenuItemBits nBits = pMenu->GetItemBits( nItemId );
|
||||
bItemShowMenuImages = ( ( nBits & MIB_ICON ) == MIB_ICON );
|
||||
+ }
|
||||
if ( pPopup )
|
||||
{
|
||||
// Retrieve module identifier from Help Command entry
|
||||
diff -r 5893d50a0b8c officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
|
||||
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -41,6 +41,14 @@
|
||||
<value xml:lang="en-US">~Trace Dependents</value>
|
||||
</prop>
|
||||
</node>
|
||||
+ <node oor:name=".uno:SinglePane" oor:op="replace">
|
||||
+ <prop oor:name="Label" oor:type="xs:string">
|
||||
+ <value xml:lang="en-US">~Normal Pane</value>
|
||||
+ </prop>
|
||||
+ <prop oor:name="ContextLabel" oor:type="xs:string">
|
||||
+ <value xml:lang="en-US">~Normal</value>
|
||||
+ </prop>
|
||||
+ </node>
|
||||
<node oor:name=".uno:SplitWindow" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">~Split Window</value>
|
||||
diff -r 5893d50a0b8c sd/uiconfig/simpress/menubar/menubar.xml
|
||||
--- a/sd/uiconfig/simpress/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/sd/uiconfig/simpress/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -79,14 +79,14 @@
|
||||
<menu:menuitem menu:id=".uno:NormalMultiPaneGUI" menu:style="radio"/>
|
||||
<menu:menuitem menu:id=".uno:OutlineMode" menu:style="radio"/>
|
||||
<menu:menuitem menu:id=".uno:DiaMode" menu:style="radio"/>
|
||||
- <menu:menuitem menu:id=".uno:Presentation"/>
|
||||
+ <menu:menuitem menu:id=".uno:Presentation" menu:style="radio"/>
|
||||
<menu:menuitem menu:id=".uno:NotesMode" menu:style="radio"/>
|
||||
<menu:menuitem menu:id=".uno:HandoutMode" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menu menu:id=".uno:MasterPageMenu">
|
||||
<menu:menupopup>
|
||||
- <menu:menuitem menu:id=".uno:SlideMasterPage"/>
|
||||
- <menu:menuitem menu:id=".uno:NotesMasterPage"/>
|
||||
+ <menu:menuitem menu:id=".uno:SlideMasterPage" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:NotesMasterPage" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:MasterLayouts"/>
|
||||
</menu:menupopup>
|
||||
diff -r 5893d50a0b8c svtools/source/config/menuoptions.cxx
|
||||
--- a/svtools/source/config/menuoptions.cxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/svtools/source/config/menuoptions.cxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -190,9 +190,9 @@
|
||||
Commit();
|
||||
}
|
||||
|
||||
- void SetMenuIconsState ( sal_Int16 bState )
|
||||
+ void SetMenuIconsState ( sal_Int16 nState )
|
||||
{
|
||||
- m_nMenuIcons = bState;
|
||||
+ m_nMenuIcons = nState;
|
||||
SetModified();
|
||||
for ( USHORT n=0; n<aList.Count(); n++ )
|
||||
aList.GetObject(n)->Call( this );
|
||||
@@ -318,7 +318,7 @@
|
||||
sal_Bool bMenuIcons = sal_True;
|
||||
sal_Bool bSystemMenuIcons = sal_True;
|
||||
if (m_nMenuIcons == 2)
|
||||
- bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetUseImagesInMenus());
|
||||
+ bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetPreferredUseImagesInMenus());
|
||||
else
|
||||
{
|
||||
bSystemMenuIcons = sal_False;
|
||||
@@ -342,12 +342,12 @@
|
||||
else if( seqPropertyNames[nProperty] == PROPERTYNAME_SHOWICONSINMENUES )
|
||||
{
|
||||
DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtMenuOptions_Impl::SvtMenuOptions_Impl()\nWho has changed the value type of \"Office.Common\\View\\Menu\\ShowIconsInMenues\"?" );
|
||||
- bMenuSettingsChanged = seqValues[nProperty] >>= bMenuIcons;
|
||||
+ bMenuSettingsChanged |= seqValues[nProperty] >>= bMenuIcons;
|
||||
}
|
||||
else if( seqPropertyNames[nProperty] == PROPERTYNAME_SYSTEMICONSINMENUES )
|
||||
{
|
||||
DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtMenuOptions_Impl::SvtMenuOptions_Impl()\nWho has changed the value type of \"Office.Common\\View\\Menu\\IsSystemIconsInMenus\"?" );
|
||||
- bMenuSettingsChanged = seqValues[nProperty] >>= bSystemMenuIcons;
|
||||
+ bMenuSettingsChanged |= seqValues[nProperty] >>= bSystemMenuIcons;
|
||||
}
|
||||
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
diff -r 5893d50a0b8c sw/uiconfig/sglobal/menubar/menubar.xml
|
||||
--- a/sw/uiconfig/sglobal/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/sw/uiconfig/sglobal/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -103,8 +103,8 @@
|
||||
</menu:menu>
|
||||
<menu:menu menu:id=".uno:ViewMenu">
|
||||
<menu:menupopup>
|
||||
- <menu:menuitem menu:id=".uno:PrintLayout"/>
|
||||
- <menu:menuitem menu:id=".uno:BrowseView"/>
|
||||
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
|
||||
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
|
||||
diff -r 5893d50a0b8c sw/uiconfig/sweb/menubar/menubar.xml
|
||||
--- a/sw/uiconfig/sweb/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/sw/uiconfig/sweb/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -75,9 +75,9 @@
|
||||
</menu:menu>
|
||||
<menu:menu menu:id=".uno:ViewMenu">
|
||||
<menu:menupopup>
|
||||
- <menu:menuitem menu:id=".uno:PrintLayout"/>
|
||||
- <menu:menuitem menu:id=".uno:BrowseView"/>
|
||||
- <menu:menuitem menu:id=".uno:SourceView"/>
|
||||
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:SourceView" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
|
||||
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
|
||||
diff -r 5893d50a0b8c sw/uiconfig/swform/menubar/menubar.xml
|
||||
--- a/sw/uiconfig/swform/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/sw/uiconfig/swform/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -103,8 +103,8 @@
|
||||
</menu:menu>
|
||||
<menu:menu menu:id=".uno:ViewMenu">
|
||||
<menu:menupopup>
|
||||
- <menu:menuitem menu:id=".uno:PrintLayout"/>
|
||||
- <menu:menuitem menu:id=".uno:BrowseView"/>
|
||||
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
|
||||
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
|
||||
diff -r 5893d50a0b8c sw/uiconfig/swreport/menubar/menubar.xml
|
||||
--- a/sw/uiconfig/swreport/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/sw/uiconfig/swreport/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -103,8 +103,8 @@
|
||||
</menu:menu>
|
||||
<menu:menu menu:id=".uno:ViewMenu">
|
||||
<menu:menupopup>
|
||||
- <menu:menuitem menu:id=".uno:PrintLayout"/>
|
||||
- <menu:menuitem menu:id=".uno:BrowseView"/>
|
||||
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
|
||||
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
|
||||
diff -r 5893d50a0b8c sw/uiconfig/swriter/menubar/menubar.xml
|
||||
--- a/sw/uiconfig/swriter/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/sw/uiconfig/swriter/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -106,8 +106,8 @@
|
||||
</menu:menu>
|
||||
<menu:menu menu:id=".uno:ViewMenu">
|
||||
<menu:menupopup>
|
||||
- <menu:menuitem menu:id=".uno:PrintLayout"/>
|
||||
- <menu:menuitem menu:id=".uno:BrowseView"/>
|
||||
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
|
||||
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
|
||||
diff -r 5893d50a0b8c sw/uiconfig/swxform/menubar/menubar.xml
|
||||
--- a/sw/uiconfig/swxform/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/sw/uiconfig/swxform/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -104,8 +104,8 @@
|
||||
</menu:menu>
|
||||
<menu:menu menu:id=".uno:ViewMenu">
|
||||
<menu:menupopup>
|
||||
- <menu:menuitem menu:id=".uno:PrintLayout"/>
|
||||
- <menu:menuitem menu:id=".uno:BrowseView"/>
|
||||
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
|
||||
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
|
||||
<menu:menuseparator/>
|
||||
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
|
||||
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
|
||||
diff -r 5893d50a0b8c vcl/aqua/source/window/salframe.cxx
|
||||
--- a/vcl/aqua/source/window/salframe.cxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/vcl/aqua/source/window/salframe.cxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -1266,7 +1266,7 @@
|
||||
aStyleSettings.SetScrollBarSize( static_cast<long int>([NSScroller scrollerWidth]) );
|
||||
|
||||
// images in menus false for MacOSX
|
||||
- aStyleSettings.SetUseImagesInMenus( false );
|
||||
+ aStyleSettings.SetPreferredUseImagesInMenus( false );
|
||||
|
||||
rSettings.SetStyleSettings( aStyleSettings );
|
||||
|
||||
diff -r 5893d50a0b8c vcl/inc/vcl/settings.hxx
|
||||
--- a/vcl/inc/vcl/settings.hxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/vcl/inc/vcl/settings.hxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -431,6 +431,7 @@
|
||||
USHORT mnUseSystemUIFonts;
|
||||
USHORT mnAutoMnemonic;
|
||||
USHORT mnUseImagesInMenus;
|
||||
+ BOOL mbPreferredUseImagesInMenus;
|
||||
ULONG mnUseFlatBorders;
|
||||
long mnMinThumbSize;
|
||||
ULONG mnSymbolsStyle;
|
||||
@@ -525,6 +526,10 @@
|
||||
#define STYLE_SYMBOLS_CLASSIC ((ULONG)7)
|
||||
#define STYLE_SYMBOLS_THEMES_MAX ((ULONG)8)
|
||||
|
||||
+#define STYLE_MENUIMAGES_OFF ((USHORT)0)
|
||||
+#define STYLE_MENUIMAGES_ON ((USHORT)1)
|
||||
+#define STYLE_MENUIMAGES_AUTO ((USHORT)2)
|
||||
+
|
||||
#define STYLE_CURSOR_NOBLINKTIME ((ULONG)0xFFFFFFFF)
|
||||
|
||||
class VCL_DLLPUBLIC StyleSettings
|
||||
@@ -746,10 +751,16 @@
|
||||
{ CopyData(); mpData->mnUseFlatMenues = bUseFlatMenues; }
|
||||
BOOL GetUseFlatMenues() const
|
||||
{ return (BOOL) mpData->mnUseFlatMenues; }
|
||||
+
|
||||
void SetUseImagesInMenus( BOOL bUseImagesInMenus )
|
||||
{ CopyData(); mpData->mnUseImagesInMenus = bUseImagesInMenus; }
|
||||
- BOOL GetUseImagesInMenus() const
|
||||
- { return (BOOL) mpData->mnUseImagesInMenus; }
|
||||
+ BOOL GetUseImagesInMenus() const;
|
||||
+
|
||||
+ void SetPreferredUseImagesInMenus( BOOL bPreferredUseImagesInMenus )
|
||||
+ { CopyData(); mpData->mbPreferredUseImagesInMenus = bPreferredUseImagesInMenus; }
|
||||
+ BOOL GetPreferredUseImagesInMenus() const
|
||||
+ { return mpData->mbPreferredUseImagesInMenus; }
|
||||
+
|
||||
void SetSkipDisabledInMenus( BOOL bSkipDisabledInMenus )
|
||||
{ CopyData(); mpData->mnSkipDisabledInMenus = bSkipDisabledInMenus; }
|
||||
BOOL GetSkipDisabledInMenus() const
|
||||
diff -r 5893d50a0b8c vcl/source/app/settings.cxx
|
||||
--- a/vcl/source/app/settings.cxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/vcl/source/app/settings.cxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -435,6 +435,7 @@
|
||||
mnAutoMnemonic = 1;
|
||||
mnToolbarIconSize = STYLE_TOOLBAR_ICONSIZE_UNKNOWN;
|
||||
mnSymbolsStyle = STYLE_SYMBOLS_AUTO;
|
||||
+ mnUseImagesInMenus = STYLE_MENUIMAGES_AUTO;
|
||||
mnPreferredSymbolsStyle = STYLE_SYMBOLS_AUTO;
|
||||
mpFontOptions = NULL;
|
||||
|
||||
@@ -539,6 +540,7 @@
|
||||
mnUseFlatMenues = rData.mnUseFlatMenues;
|
||||
mnAutoMnemonic = rData.mnAutoMnemonic;
|
||||
mnUseImagesInMenus = rData.mnUseImagesInMenus;
|
||||
+ mbPreferredUseImagesInMenus = rData.mbPreferredUseImagesInMenus;
|
||||
mnSkipDisabledInMenus = rData.mnSkipDisabledInMenus;
|
||||
mnToolbarIconSize = rData.mnToolbarIconSize;
|
||||
mnSymbolsStyle = rData.mnSymbolsStyle;
|
||||
@@ -632,7 +634,7 @@
|
||||
mnUseSystemUIFonts = 1;
|
||||
mnUseFlatBorders = 0;
|
||||
mnUseFlatMenues = 0;
|
||||
- mnUseImagesInMenus = (USHORT)TRUE;
|
||||
+ mbPreferredUseImagesInMenus = TRUE;
|
||||
mnSkipDisabledInMenus = (USHORT)FALSE;
|
||||
|
||||
Gradient aGrad( GRADIENT_LINEAR, DEFAULT_WORKSPACE_GRADIENT_START_COLOR, DEFAULT_WORKSPACE_GRADIENT_END_COLOR );
|
||||
@@ -866,6 +868,19 @@
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
+BOOL StyleSettings::GetUseImagesInMenus() const
|
||||
+{
|
||||
+ // icon mode selected in Tools -> Options... -> OpenOffice.org -> View
|
||||
+ USHORT nStyle = mpData->mnUseImagesInMenus;
|
||||
+
|
||||
+ if ( nStyle == STYLE_MENUIMAGES_AUTO )
|
||||
+ return GetPreferredUseImagesInMenus();
|
||||
+
|
||||
+ return (BOOL)nStyle;
|
||||
+}
|
||||
+
|
||||
+// -----------------------------------------------------------------------
|
||||
+
|
||||
void StyleSettings::SetStandardStyles()
|
||||
{
|
||||
CopyData();
|
||||
@@ -1104,6 +1119,7 @@
|
||||
(mpData->maFieldFont == rSet.mpData->maFieldFont) &&
|
||||
(mpData->maIconFont == rSet.mpData->maIconFont) &&
|
||||
(mpData->mnUseImagesInMenus == rSet.mpData->mnUseImagesInMenus) &&
|
||||
+ (mpData->mbPreferredUseImagesInMenus == rSet.mpData->mbPreferredUseImagesInMenus) &&
|
||||
(mpData->mnSkipDisabledInMenus == rSet.mpData->mnSkipDisabledInMenus) &&
|
||||
(mpData->maFontColor == rSet.mpData->maFontColor ))
|
||||
return TRUE;
|
||||
diff -r 5893d50a0b8c vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
|
||||
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx Wed Sep 08 15:25:35 2010 +0100
|
||||
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx Mon Sep 13 15:13:31 2010 +0100
|
||||
@@ -3552,7 +3552,7 @@
|
||||
gboolean showmenuicons = true;
|
||||
pSettings = gtk_widget_get_settings( gWidgetData[m_nScreen].gImageMenuItem );
|
||||
g_object_get( pSettings, "gtk-menu-images", &showmenuicons, (char *)NULL );
|
||||
- aStyleSet.SetUseImagesInMenus( showmenuicons );
|
||||
+ aStyleSet.SetPreferredUseImagesInMenus( showmenuicons );
|
||||
|
||||
// set scrollbar settings
|
||||
gint slider_width = 14;
|
||||
--- a/idlc/source/preproc/tokens.c 2010-09-08 13:23:54.000000000 +0100
|
||||
+++ b/idlc/source/preproc/tokens.c 2010-09-08 13:24:20.000000000 +0100
|
||||
@@ -477,7 +477,7 @@
|
||||
if (write(1, wbuf, OBS) != OBS)
|
||||
error(ERROR, "short write!");
|
||||
if (wbp > &wbuf[OBS])
|
||||
- memcpy(wbuf, wbuf + OBS, wbp - &wbuf[OBS]);
|
||||
+ memmove(wbuf, wbuf + OBS, wbp - &wbuf[OBS]);
|
||||
wbp -= OBS;
|
||||
}
|
||||
}
|
@ -0,0 +1,286 @@
|
||||
Index: filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
|
||||
===================================================================
|
||||
--- filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (revision 276736)
|
||||
+++ filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (working copy)
|
||||
@@ -102,8 +102,8 @@
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!-- As CSS writing-mode is not implemented by all browsers, a heuristic is done -->
|
||||
- <xsl:variable name="writingMode" select="key('writingModeStyles', 'test')"/>
|
||||
- <xsl:if test="contains($writingMode, 'rl')">
|
||||
+ <xsl:variable name="writingModeTest" select="key('writingModeStyles', 'test')"/>
|
||||
+ <xsl:if test="contains($writingModeTest, 'rl')">
|
||||
<xsl:attribute name="dir">rtl</xsl:attribute>
|
||||
</xsl:if>
|
||||
</xsl:otherwise>
|
||||
@@ -579,13 +579,13 @@
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$tabIndent='NaN'">
|
||||
- <xsl:variable name="tabPosition">
|
||||
+ <xsl:variable name="tabPositionTmp">
|
||||
<xsl:call-template name="convert2cm">
|
||||
<xsl:with-param name="value" select="$tabStops/style:tab-stop[last()]/@style:position"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<!-- Heuristic: for every tab that is more than specified give a further 1 cm -->
|
||||
- <xsl:value-of select="$parentMarginLeft + $tabPosition + count($tabStops/style:tab-stop) - $tabCount"/>
|
||||
+ <xsl:value-of select="$parentMarginLeft + $tabPositionTmp + count($tabStops/style:tab-stop) - $tabCount"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$tabIndent"/>
|
||||
diff -ru filter.orig/source/xslt/export/uof/odf2uof_text.xsl filter/source/xslt/export/uof/odf2uof_text.xsl
|
||||
--- filter.orig/source/xslt/export/uof/odf2uof_text.xsl 2009-04-24 09:31:14.000000000 +0100
|
||||
+++ filter/source/xslt/export/uof/odf2uof_text.xsl 2009-04-24 09:32:29.000000000 +0100
|
||||
@@ -4029,13 +4029,7 @@
|
||||
<xsl:element name="字:文本串">
|
||||
<xsl:attribute name="uof:locID">t0109</xsl:attribute>
|
||||
<xsl:attribute name="uof:attrList">标识符</xsl:attribute>
|
||||
- <xsl:variable name="stt">
|
||||
- <xsl:value-of select="./text:a"/>
|
||||
- </xsl:variable>
|
||||
- <xsl:variable name="end">
|
||||
- <xsl:value-of select="."/>
|
||||
- </xsl:variable>
|
||||
- <xsl:value-of select="substring-after($end,$stt)"/>
|
||||
+ <xsl:value-of select="$bijiao"/>
|
||||
</xsl:element>
|
||||
</xsl:if>
|
||||
</字:句>
|
||||
Index: filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
|
||||
===================================================================
|
||||
--- filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (revision 270524)
|
||||
+++ filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (working copy)
|
||||
@@ -1767,6 +1767,11 @@
|
||||
<xsl:param name="minLabelWidth"/>
|
||||
<xsl:param name="listIndent" />
|
||||
|
||||
+ <!-- The text:list-header shall not be labeled. According to ODF specification (sect. 4.3.2):
|
||||
+ "The <text:list-header> element represents a list header and is a special kind of list item. It
|
||||
+ contains one or more paragraphs that are displayed before a list. The paragraphs are formatted
|
||||
+ like list items but they do not have a preceding number or bullet." -->
|
||||
+ <xsl:variable name="isListHeader" select="boolean(self::text:list-header)"/>
|
||||
|
||||
<xsl:variable name="listIndentNew">
|
||||
<xsl:choose>
|
||||
@@ -1785,13 +1790,15 @@
|
||||
<xsl:variable name="itemNumberNew">
|
||||
<xsl:if test="$listStyle/text:list-style/text:list-level-style-number">
|
||||
<xsl:choose>
|
||||
- <xsl:when test="$isEmptyList">
|
||||
+ <xsl:when test="$isListHeader">0</xsl:when>
|
||||
<!-- An empty list item (no text:h/text:p as child), will not count as item and does not increment the count. -->
|
||||
<xsl:variable name="tempItemNumber">
|
||||
<xsl:choose>
|
||||
<!-- siblings will be incremented by one -->
|
||||
<xsl:when test="$itemNumber">
|
||||
- <xsl:value-of select="$itemNumber + 1"/>
|
||||
+ <xsl:if test="not($isListHeader)">
|
||||
+ <xsl:value-of select="$itemNumber + 1"/>
|
||||
+ </xsl:if>
|
||||
</xsl:when>
|
||||
<!-- if a higher list level had content the numbering starts with 1 -->
|
||||
<xsl:when test="$isListNumberingReset and $listLevel > 1">
|
||||
@@ -1866,6 +1873,7 @@
|
||||
<xsl:when test="$display">
|
||||
<xsl:value-of select="$display"/>
|
||||
</xsl:when>
|
||||
+ <xsl:when test="$isListHeader">0</xsl:when>
|
||||
<xsl:otherwise>1</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
@@ -1876,9 +1884,10 @@
|
||||
</xsl:variable>
|
||||
<xsl:element name="li">
|
||||
<xsl:choose>
|
||||
- <xsl:when test="$isEmptyList">
|
||||
+ <xsl:when test="$isEmptyList or $isListHeader">
|
||||
<xsl:apply-templates>
|
||||
<xsl:with-param name="globalData" select="$globalData"/>
|
||||
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isListHeader or $isNextLevelNumberingReset"/>
|
||||
<xsl:with-param name="itemLabel" select="$itemLabelNew"/>
|
||||
<xsl:with-param name="listLevel" select="$listLevel + 1"/>
|
||||
<xsl:with-param name="listStyleName" select="$listStyleName"/>
|
||||
@@ -1889,7 +1898,7 @@
|
||||
<xsl:apply-templates mode="list-item-children" select="*[1]">
|
||||
<xsl:with-param name="globalData" select="$globalData"/>
|
||||
<xsl:with-param name="isEmptyList" select="$isEmptyList"/>
|
||||
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
|
||||
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isListHeader or $isNextLevelNumberingReset"/>
|
||||
<!-- The new created label is given to the children -->
|
||||
<xsl:with-param name="itemLabel" select="$itemLabelNew"/>
|
||||
<xsl:with-param name="listLabelElement">
|
||||
@@ -2088,7 +2097,7 @@
|
||||
|
||||
|
||||
<!-- The Numbering start value (or offset from regular counteing) is used at the first item of offset,
|
||||
- but have to be reused on following item/headers with no text:start-value -->
|
||||
+ but have to be reused on following items with no text:start-value -->
|
||||
<xsl:template name="getItemNumber">
|
||||
<xsl:param name="listLevel"/>
|
||||
<xsl:param name="listLevelStyle"/>
|
||||
@@ -2122,6 +2131,8 @@
|
||||
<!-- E.g.: If a list level 2 number is searched, a level 3 with content found with only a level 1 parent with content,
|
||||
the level 3 gets a 'pseudoLevel' -->
|
||||
<xsl:param name="pseudoLevel" select="0" />
|
||||
+ <xsl:variable name="isListHeader" select="boolean(self::text:list-header)"/>
|
||||
+ <xsl:variable name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p'])"/>
|
||||
|
||||
<!-- set the next of preceding list items. Starting from the current to the next previous text:list-item -->
|
||||
<xsl:variable name="precedingListItemOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle[$precedingListItemsOfSameLevelAndStyleCount - $IteratorSameLevelAndStyle + 1]"/>
|
||||
@@ -2155,7 +2166,7 @@
|
||||
<xsl:when test="$currentListLevel < $listLevel">
|
||||
<xsl:choose>
|
||||
<!-- if it has content the counting is ended -->
|
||||
- <xsl:when test="*[name() = 'text:h' or name() = 'text:p']">
|
||||
+ <xsl:when test="not($isEmptyList or $isListHeader)">
|
||||
<!-- 2DO: Perhaps the children still have to be processed -->
|
||||
<xsl:value-of select="$itemNumber + $pseudoLevel"/>
|
||||
</xsl:when>
|
||||
@@ -2210,7 +2221,7 @@
|
||||
<xsl:with-param name="pseudoLevel">
|
||||
<xsl:choose>
|
||||
<!-- empty list item does not count -->
|
||||
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
|
||||
+ <xsl:when test="$isEmptyList or $isListHeader">
|
||||
<xsl:value-of select="$pseudoLevel"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>1</xsl:otherwise>
|
||||
@@ -2243,11 +2254,14 @@
|
||||
<xsl:param name="precedingListItemsOfSameStyleCount"/>
|
||||
<xsl:param name="pseudoLevel" />
|
||||
|
||||
+ <xsl:variable name="isListHeader" select="boolean(self::text:list-header)"/>
|
||||
+ <xsl:variable name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p'])"/>
|
||||
+
|
||||
<xsl:choose>
|
||||
<xsl:when test="@text:start-value">
|
||||
<xsl:choose>
|
||||
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
|
||||
- <!-- empty list item does not count -->
|
||||
+ <xsl:when test="$isEmptyList or $isListHeader">
|
||||
+ <!-- empty list item does not count. neither does list header -->
|
||||
<xsl:call-template name="countListItemTillStartValue">
|
||||
<xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
|
||||
<xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
|
||||
@@ -2269,8 +2283,8 @@
|
||||
</xsl:when>
|
||||
<xsl:when test="$listLevelStyle/@text:start-value">
|
||||
<xsl:choose>
|
||||
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
|
||||
- <!-- empty list item does not count -->
|
||||
+ <xsl:when test="$isEmptyList or $isListHeader">
|
||||
+ <!-- empty list item does not count. neither does list header -->
|
||||
<xsl:call-template name="countListItemTillStartValue">
|
||||
<xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
|
||||
<xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
|
||||
@@ -2292,8 +2306,8 @@
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
|
||||
- <!-- empty list item does not count -->
|
||||
+ <xsl:when test="$isEmptyList or $isListHeader">
|
||||
+ <!-- empty list item does not count. neither does list header -->
|
||||
<xsl:call-template name="countListItemTillStartValue">
|
||||
<xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
|
||||
<xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
|
||||
Index: filter/source/docbook/sofftodocbookheadings.xsl
|
||||
===================================================================
|
||||
--- filter/source/docbook/sofftodocbookheadings.xsl (revision 270724)
|
||||
+++ filter/source/docbook/sofftodocbookheadings.xsl (working copy)
|
||||
@@ -73,11 +73,6 @@
|
||||
match="text:h"
|
||||
use="generate-id(preceding::text:h[@text:level < current()/@text:level][1])"/>
|
||||
|
||||
- <!-- All those headings have not the lowest outline level (mapped to section1), but come before the first heading mapped to section1 -->
|
||||
- <xsl:key name="preludingHeadings"
|
||||
- match="text:h"
|
||||
- use="generate-id(following::text:h[@text:level = $section1_OutlineLevel][1])"/>
|
||||
-
|
||||
<!-- The key function "getHeadingsByOutline" returns all headings of a certain outline level -->
|
||||
<xsl:key name="getHeadingsByOutline"
|
||||
match="text:h"
|
||||
@@ -175,7 +170,7 @@
|
||||
<xsl:text disable-output-escaping="yes"><sect1></xsl:text>
|
||||
<title></title>
|
||||
<!-- create sections for all the first section1 preluding headings -->
|
||||
- <xsl:for-each select="key('preludingHeadings', generate-id())">
|
||||
+ <xsl:for-each select="key('getHeadingsByOutline', $section1_OutlineLevel)[1]/preceding::text:h">
|
||||
<xsl:call-template name="make-section">
|
||||
<xsl:with-param name="previousSectionLevel" select="$section1_OutlineLevel"/>
|
||||
<xsl:with-param name="currentSectionLevel">
|
||||
@@ -1186,4 +1181,4 @@
|
||||
<xsl:with-param name="whitespaces" select="8"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
-</xsl:stylesheet>
|
||||
\ No newline at end of file
|
||||
+</xsl:stylesheet>
|
||||
Index: filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
|
||||
===================================================================
|
||||
--- filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (revision 276736)
|
||||
+++ filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (working copy)
|
||||
@@ -59,6 +59,13 @@
|
||||
<xsl:key name="writingModeStyles" match="/*/office:styles/style:style/style:paragraph-properties/@style:writing-mode | /*/office:automatic-styles/style:style/style:paragraph-properties/@style:writing-mode" use="'test'"/>
|
||||
<xsl:template name="create-body">
|
||||
<xsl:param name="globalData"/>
|
||||
+ <xsl:call-template name="create-body.collect-page-properties">
|
||||
+ <xsl:with-param name="globalData" select="$globalData"/>
|
||||
+ </xsl:call-template>
|
||||
+ </xsl:template>
|
||||
+
|
||||
+ <xsl:template name="create-body.collect-page-properties">
|
||||
+ <xsl:param name="globalData"/>
|
||||
|
||||
<!-- approximation to find the correct master page style (with page dimensions) -->
|
||||
<xsl:variable name="masterPageNames">
|
||||
@@ -75,10 +82,10 @@
|
||||
|
||||
<!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
|
||||
<xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
|
||||
- <xsl:variable name="pageProperties">
|
||||
+ <xsl:variable name="pagePropertiesRTF">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($pageLayoutName) or $pageLayoutName = ''">
|
||||
- <xsl:copy-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/>
|
||||
+ <xsl:value-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!-- Find the according style:page-layout and store the properties in a variable -->
|
||||
@@ -86,6 +93,35 @@
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
+ <xsl:choose>
|
||||
+ <xsl:when test="function-available('common:node-set')">
|
||||
+ <xsl:call-template name="create-body.create">
|
||||
+ <xsl:with-param name="globalData" select="common:node-set($globalData)"/>
|
||||
+ <xsl:with-param name="pageProperties" select="common:node-set($pagePropertiesRTF)"/>
|
||||
+ </xsl:call-template>
|
||||
+ </xsl:when>
|
||||
+ <xsl:when test="function-available('xalan:nodeset')">
|
||||
+ <xsl:call-template name="create-body.create">
|
||||
+ <xsl:with-param name="globalData" select="xalan:nodeset($globalData)"/>
|
||||
+ <xsl:with-param name="pageProperties" select="xalan:nodeset($pagePropertiesRTF)"/>
|
||||
+ </xsl:call-template>
|
||||
+ </xsl:when>
|
||||
+ <xsl:when test="function-available('xt:node-set')">
|
||||
+ <xsl:call-template name="create-body.create">
|
||||
+ <xsl:with-param name="globalData" select="xt:node-set($globalData)"/>
|
||||
+ <xsl:with-param name="pageProperties" select="xt:node-set($pagePropertiesRTF)"/>
|
||||
+ </xsl:call-template>
|
||||
+ </xsl:when>
|
||||
+ <xsl:otherwise>
|
||||
+ <xsl:message terminate="yes">The required node-set function was not found!</xsl:message>
|
||||
+ </xsl:otherwise>
|
||||
+ </xsl:choose>
|
||||
+ </xsl:template>
|
||||
+
|
||||
+ <xsl:template name="create-body.create">
|
||||
+ <xsl:param name="globalData"/>
|
||||
+ <xsl:param name="pageProperties"/>
|
||||
+
|
||||
<xsl:element name="body">
|
||||
<!-- direction of text flow -->
|
||||
<xsl:variable name="writingMode" select="$pageProperties/style:page-layout-properties/@style:writing-mode"/>
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,287 @@
|
||||
diff -ru sd.orig/source/ui/framework/factories/BasicViewFactory.cxx sd/source/ui/framework/factories/BasicViewFactory.cxx
|
||||
--- sd.orig/source/ui/framework/factories/BasicViewFactory.cxx 2009-05-25 09:21:53.000000000 +0100
|
||||
+++ sd/source/ui/framework/factories/BasicViewFactory.cxx 2009-05-25 10:03:48.000000000 +0100
|
||||
@@ -141,8 +141,9 @@
|
||||
mpViewShellContainer(new ViewShellContainer()),
|
||||
mpBase(NULL),
|
||||
mpFrameView(NULL),
|
||||
+ mpWindow(new WorkWindow(NULL,WB_STDWORK)),
|
||||
mpViewCache(new ViewCache()),
|
||||
- mxLocalPane(new Pane(Reference<XResourceId>(), new WorkWindow(NULL,WB_STDWORK)))
|
||||
+ mxLocalPane(new Pane(Reference<XResourceId>(), mpWindow.get()))
|
||||
{
|
||||
(void)rxContext;
|
||||
}
|
||||
diff -ru sd.orig/source/ui/framework/factories/BasicViewFactory.hxx sd/source/ui/framework/factories/BasicViewFactory.hxx
|
||||
--- sd.orig/source/ui/framework/factories/BasicViewFactory.hxx 2009-05-25 09:21:53.000000000 +0100
|
||||
+++ sd/source/ui/framework/factories/BasicViewFactory.hxx 2009-05-25 11:20:23.000000000 +0100
|
||||
@@ -123,6 +123,7 @@
|
||||
FrameView* mpFrameView;
|
||||
|
||||
class ViewCache;
|
||||
+ ::boost::shared_ptr<Window> mpWindow;
|
||||
::boost::shared_ptr<ViewCache> mpViewCache;
|
||||
|
||||
css::uno::Reference<css::drawing::framework::XPane> mxLocalPane;
|
||||
Index: cppcanvas/source/mtfrenderer/implrenderer.cxx
|
||||
===================================================================
|
||||
--- cppcanvas/source/mtfrenderer/implrenderer.cxx (revision 276100)
|
||||
+++ cppcanvas/source/mtfrenderer/implrenderer.cxx (working copy)
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <com/sun/star/rendering/TexturingMode.hpp>
|
||||
#include <com/sun/star/uno/Sequence.hxx>
|
||||
#include <com/sun/star/geometry/RealPoint2D.hpp>
|
||||
+#include <com/sun/star/rendering/PanoseProportion.hpp>
|
||||
#include <com/sun/star/rendering/ViewState.hpp>
|
||||
#include <com/sun/star/rendering/RenderState.hpp>
|
||||
#include <com/sun/star/rendering/XCanvasFont.hpp>
|
||||
@@ -850,6 +851,12 @@
|
||||
rParms.mrParms.maFontLetterForm.isValid() ?
|
||||
rParms.mrParms.maFontLetterForm.getValue() :
|
||||
(rFont.GetItalic() == ITALIC_NONE) ? 0 : 9;
|
||||
+ aFontRequest.FontDescription.FontDescription.Proportion =
|
||||
+ rParms.mrParms.maFontProportion.isValid() ?
|
||||
+ rParms.mrParms.maFontProportion.getValue() :
|
||||
+ (rFont.GetPitch() == PITCH_FIXED)
|
||||
+ ? rendering::PanoseProportion::MONO_SPACED
|
||||
+ : rendering::PanoseProportion::ANYTHING;
|
||||
|
||||
LanguageType aLang = rFont.GetLanguage();
|
||||
aFontRequest.Locale = MsLangId::convertLanguageToLocale(aLang, false);
|
||||
@@ -2967,7 +2974,8 @@
|
||||
if( rParams.maFontName.isValid() ||
|
||||
rParams.maFontWeight.isValid() ||
|
||||
rParams.maFontLetterForm.isValid() ||
|
||||
- rParams.maFontUnderline.isValid() )
|
||||
+ rParams.maFontUnderline.isValid() ||
|
||||
+ rParams.maFontProportion.isValid() )
|
||||
{
|
||||
::cppcanvas::internal::OutDevState& rState = getState( aStateStack );
|
||||
|
||||
Index: cppcanvas/inc/cppcanvas/renderer.hxx
|
||||
===================================================================
|
||||
--- cppcanvas/inc/cppcanvas/renderer.hxx (revision 276100)
|
||||
+++ cppcanvas/inc/cppcanvas/renderer.hxx (working copy)
|
||||
@@ -139,6 +139,9 @@
|
||||
/// Optionally forces the given font letter form (italics etc.) for all text actions
|
||||
::comphelper::OptionalValue< sal_Int8 > maFontLetterForm;
|
||||
|
||||
+ /// Optionally forces the given font proportion (condensed, monospaced etc.) for all text actions
|
||||
+ ::comphelper::OptionalValue< sal_Int8 > maFontProportion;
|
||||
+
|
||||
/// Optionally forces underlining for all text actions
|
||||
::comphelper::OptionalValue< bool > maFontUnderline;
|
||||
};
|
||||
Index: canvas/source/directx/dx_textlayout_drawhelper.cxx
|
||||
===================================================================
|
||||
--- canvas/source/directx/dx_textlayout_drawhelper.cxx (revision 276100)
|
||||
+++ canvas/source/directx/dx_textlayout_drawhelper.cxx (working copy)
|
||||
@@ -135,6 +135,9 @@
|
||||
aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
|
||||
aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
|
||||
aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
|
||||
+ aFont.SetPitch(
|
||||
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
|
||||
+ ? PITCH_FIXED : PITCH_VARIABLE);
|
||||
|
||||
aFont.SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
|
||||
|
||||
@@ -267,6 +270,9 @@
|
||||
aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
|
||||
aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
|
||||
aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
|
||||
+ aFont.SetPitch(
|
||||
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
|
||||
+ ? PITCH_FIXED : PITCH_VARIABLE);
|
||||
|
||||
// adjust to stretched font
|
||||
if(!::rtl::math::approxEqual(rFontMatrix.m00, rFontMatrix.m11))
|
||||
Index: canvas/source/vcl/canvasfont.cxx
|
||||
===================================================================
|
||||
--- canvas/source/vcl/canvasfont.cxx (revision 276100)
|
||||
+++ canvas/source/vcl/canvasfont.cxx (working copy)
|
||||
@@ -38,6 +38,8 @@
|
||||
#include <i18npool/mslangid.hxx>
|
||||
#include <vcl/metric.hxx>
|
||||
|
||||
+#include <com/sun/star/rendering/PanoseProportion.hpp>
|
||||
+
|
||||
#include "canvasfont.hxx"
|
||||
#include "textlayout.hxx"
|
||||
|
||||
@@ -66,6 +68,9 @@
|
||||
// TODO(F2): improve panose->vclenum conversion
|
||||
maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
|
||||
maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
|
||||
+ maFont->SetPitch(
|
||||
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
|
||||
+ ? PITCH_FIXED : PITCH_VARIABLE);
|
||||
|
||||
maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
|
||||
|
||||
Index: canvas/source/cairo/cairo_canvasfont.cxx
|
||||
===================================================================
|
||||
--- canvas/source/cairo/cairo_canvasfont.cxx (revision 276100)
|
||||
+++ canvas/source/cairo/cairo_canvasfont.cxx (working copy)
|
||||
@@ -33,6 +33,8 @@
|
||||
|
||||
#include <canvas/debug.hxx>
|
||||
|
||||
+#include <com/sun/star/rendering/PanoseProportion.hpp>
|
||||
+
|
||||
#include <rtl/math.hxx>
|
||||
#include <basegfx/numeric/ftools.hxx>
|
||||
|
||||
@@ -86,6 +88,9 @@
|
||||
// TODO(F2): improve panose->vclenum conversion
|
||||
maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
|
||||
maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
|
||||
+ maFont->SetPitch(
|
||||
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
|
||||
+ ? PITCH_FIXED : PITCH_VARIABLE);
|
||||
|
||||
maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
|
||||
|
||||
Index: drawinglayer/source/processor2d/canvasprocessor.cxx
|
||||
===================================================================
|
||||
--- drawinglayer/source/processor2d/canvasprocessor.cxx (revision 276100)
|
||||
+++ drawinglayer/source/processor2d/canvasprocessor.cxx (working copy)
|
||||
@@ -57,6 +57,7 @@
|
||||
#include <basegfx/tuple/b2i64tuple.hxx>
|
||||
#include <basegfx/range/b2irange.hxx>
|
||||
#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp>
|
||||
+#include <com/sun/star/rendering/PanoseProportion.hpp>
|
||||
#include <com/sun/star/rendering/CompositeOperation.hpp>
|
||||
#include <com/sun/star/rendering/StrokeAttributes.hpp>
|
||||
#include <com/sun/star/rendering/PathJoinType.hpp>
|
||||
@@ -1517,6 +1518,10 @@
|
||||
aFontRequest.FontDescription.IsVertical = rFontAttr.getVertical() ? util::TriState_YES : util::TriState_NO;
|
||||
// TODO(F2): improve vclenum->panose conversion
|
||||
aFontRequest.FontDescription.FontDescription.Weight = static_cast< sal_uInt8 >(rFontAttr.getWeight());
|
||||
+ aFontRequest.FontDescription.FontDescription.Proportion =
|
||||
+ rFontAttr.getMonospaced()
|
||||
+ ? rendering::PanoseProportion::MONO_SPACED
|
||||
+ : rendering::PanoseProportion::ANYTHING;
|
||||
aFontRequest.FontDescription.FontDescription.Letterform = rFontAttr.getItalic() ? 9 : 0;
|
||||
|
||||
// init CellSize to 1.0, else a default font height will be used
|
||||
Index: drawinglayer/source/primitive2d/textlayoutdevice.cxx
|
||||
===================================================================
|
||||
--- drawinglayer/source/primitive2d/textlayoutdevice.cxx (revision 276100)
|
||||
+++ drawinglayer/source/primitive2d/textlayoutdevice.cxx (working copy)
|
||||
@@ -406,6 +406,7 @@
|
||||
aRetval.SetWeight(static_cast<FontWeight>(rFontAttribute.getWeight()));
|
||||
aRetval.SetItalic(rFontAttribute.getItalic() ? ITALIC_NORMAL : ITALIC_NONE);
|
||||
aRetval.SetOutline(rFontAttribute.getOutline());
|
||||
+ aRetval.SetPitch(rFontAttribute.getMonospaced() ? PITCH_FIXED : PITCH_VARIABLE);
|
||||
aRetval.SetLanguage(MsLangId::convertLocaleToLanguage(rLocale));
|
||||
|
||||
#ifdef WIN32
|
||||
@@ -445,6 +446,7 @@
|
||||
RTL_TEXTENCODING_SYMBOL == rFont.GetCharSet(),
|
||||
rFont.IsVertical(),
|
||||
ITALIC_NONE != rFont.GetItalic(),
|
||||
+ PITCH_FIXED == rFont.GetPitch(),
|
||||
rFont.IsOutline(),
|
||||
bRTL,
|
||||
bBiDiStrong);
|
||||
--- drawinglayer/source/attribute/fontattribute.cxx 2010-07-06 16:05:42.000000000 +0100
|
||||
+++ drawinglayer/source/attribute/fontattribute.cxx 2010-07-06 16:06:02.000000000 +0100
|
||||
@@ -55,6 +55,7 @@
|
||||
unsigned mbOutline : 1; // Outline Flag
|
||||
unsigned mbRTL : 1; // RTL Flag
|
||||
unsigned mbBiDiStrong : 1; // BiDi Flag
|
||||
+ unsigned mbMonospaced : 1;
|
||||
|
||||
ImpFontAttribute(
|
||||
const String& rFamilyName,
|
||||
@@ -63,6 +64,7 @@
|
||||
bool bSymbol,
|
||||
bool bVertical,
|
||||
bool bItalic,
|
||||
+ bool bMonospaced,
|
||||
bool bOutline,
|
||||
bool bRTL,
|
||||
bool bBiDiStrong)
|
||||
@@ -75,7 +77,8 @@
|
||||
mbItalic(bItalic),
|
||||
mbOutline(bOutline),
|
||||
mbRTL(bRTL),
|
||||
- mbBiDiStrong(bBiDiStrong)
|
||||
+ mbBiDiStrong(bBiDiStrong),
|
||||
+ mbMonospaced(bMonospaced)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -89,6 +92,7 @@
|
||||
bool getOutline() const { return mbOutline; }
|
||||
bool getRTL() const { return mbRTL; }
|
||||
bool getBiDiStrong() const { return mbBiDiStrong; }
|
||||
+ bool getMonospaced() const { return mbMonospaced; }
|
||||
|
||||
bool operator==(const ImpFontAttribute& rCompare) const
|
||||
{
|
||||
@@ -100,7 +104,8 @@
|
||||
&& getItalic() == rCompare.getItalic()
|
||||
&& getOutline() == rCompare.getOutline()
|
||||
&& getRTL() == rCompare.getRTL()
|
||||
- && getBiDiStrong() == rCompare.getBiDiStrong());
|
||||
+ && getBiDiStrong() == rCompare.getBiDiStrong()
|
||||
+ && getMonospaced() == rCompare.getMonospaced());
|
||||
}
|
||||
|
||||
static ImpFontAttribute* get_global_default()
|
||||
@@ -112,7 +117,7 @@
|
||||
pDefault = new ImpFontAttribute(
|
||||
String(), String(),
|
||||
0,
|
||||
- false, false, false, false, false, false);
|
||||
+ false, false, false, false, false, false, false);
|
||||
|
||||
// never delete; start with RefCount 1, not 0
|
||||
pDefault->mnRefCount++;
|
||||
@@ -129,11 +134,12 @@
|
||||
bool bSymbol,
|
||||
bool bVertical,
|
||||
bool bItalic,
|
||||
+ bool bMonospaced,
|
||||
bool bOutline,
|
||||
bool bRTL,
|
||||
bool bBiDiStrong)
|
||||
: mpFontAttribute(new ImpFontAttribute(
|
||||
- rFamilyName, rStyleName, nWeight, bSymbol, bVertical, bItalic, bOutline, bRTL, bBiDiStrong))
|
||||
+ rFamilyName, rStyleName, nWeight, bSymbol, bVertical, bItalic, bMonospaced, bOutline, bRTL, bBiDiStrong))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -246,6 +252,12 @@
|
||||
return mpFontAttribute->getBiDiStrong();
|
||||
}
|
||||
|
||||
+ bool FontAttribute::getMonospaced() const
|
||||
+ {
|
||||
+ return mpFontAttribute->getMonospaced();
|
||||
+ }
|
||||
+
|
||||
+
|
||||
} // end of namespace attribute
|
||||
} // end of namespace drawinglayer
|
||||
|
||||
--- drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx 2010-07-07 11:39:31.000000000 +0100
|
||||
+++ drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx 2010-07-07 11:44:38.000000000 +0100
|
||||
@@ -65,6 +65,7 @@
|
||||
bool bSymbol = false,
|
||||
bool bVertical = false,
|
||||
bool bItalic = false,
|
||||
+ bool bMonospaced = false,
|
||||
bool bOutline = false,
|
||||
bool bRTL = false,
|
||||
bool bBiDiStrong = false);
|
||||
@@ -89,6 +90,7 @@
|
||||
bool getOutline() const;
|
||||
bool getRTL() const;
|
||||
bool getBiDiStrong() const;
|
||||
+ bool getMonospaced() const;
|
||||
};
|
||||
} // end of namespace attribute
|
||||
} // end of namespace drawinglayer
|
@ -0,0 +1,31 @@
|
||||
diff -r bec9b2b2628f -r 47329487e9cf reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryLoader.java
|
||||
--- a/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryLoader.java Mon Nov 09 14:52:58 2009 +0100
|
||||
+++ b/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryLoader.java Wed Nov 11 10:36:44 2009 +0100
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
import org.pentaho.reporting.libraries.resourceloader.ResourceData;
|
||||
import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
|
||||
+import org.pentaho.reporting.libraries.resourceloader.ResourceException;
|
||||
import org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException;
|
||||
import org.pentaho.reporting.libraries.resourceloader.ResourceLoader;
|
||||
import org.pentaho.reporting.libraries.resourceloader.ResourceLoadingException;
|
||||
@@ -169,4 +170,19 @@
|
||||
{
|
||||
return resourceManager;
|
||||
}
|
||||
+
|
||||
+ public boolean isSupportedDeserializer(String string)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ public String serialize(ResourceKey rk, ResourceKey rk1) throws ResourceException
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ public ResourceKey deserialize(ResourceKey rk, String string) throws ResourceKeyCreationException
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
}
|
@ -0,0 +1,490 @@
|
||||
diff -ru vcl.orig/inc/vcl/salgdi.hxx vcl/inc/vcl/salgdi.hxx
|
||||
--- vcl.orig/inc/vcl/salgdi.hxx 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/inc/vcl/salgdi.hxx 2010-06-09 11:54:03.000000000 +0100
|
||||
@@ -233,7 +233,7 @@
|
||||
// release the fonts
|
||||
void ReleaseFonts() { SetFont( NULL, 0 ); }
|
||||
// get the current font's metrics
|
||||
- virtual void GetFontMetric( ImplFontMetricData* ) = 0;
|
||||
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel = 0 ) = 0;
|
||||
|
||||
// get kernign pairs of the current font
|
||||
// return only PairCount if (pKernPairs == NULL)
|
||||
diff -ru vcl.orig/source/gdi/outdev3.cxx vcl/source/gdi/outdev3.cxx
|
||||
--- vcl.orig/source/gdi/outdev3.cxx 2010-06-08 16:16:37.000000000 +0100
|
||||
+++ vcl/source/gdi/outdev3.cxx 2010-06-09 12:41:11.000000000 +0100
|
||||
@@ -6588,6 +6588,10 @@
|
||||
rtl::OUString aMissingCodes = aMissingCodeBuf.makeStringAndClear();
|
||||
|
||||
ImplFontSelectData aFontSelData = mpFontEntry->maFontSelData;
|
||||
+
|
||||
+ ImplFontMetricData aOrigMetric(aFontSelData);
|
||||
+ mpGraphics->GetFontMetric(&aOrigMetric);
|
||||
+
|
||||
// when device specific font substitution may have been performed for
|
||||
// the originally selected font then make sure that a fallback to that
|
||||
// font is performed first
|
||||
@@ -6632,7 +6636,22 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
+ ImplFontMetricData aSubstituteMetric(aFontSelData);
|
||||
pFallbackFont->mnSetFontFlags = mpGraphics->SetFont( &aFontSelData, nFallbackLevel );
|
||||
+ mpGraphics->GetFontMetric(&aSubstituteMetric, nFallbackLevel);
|
||||
+
|
||||
+ long nOriginalHeight = aOrigMetric.mnAscent + aOrigMetric.mnDescent;
|
||||
+ long nSubstituteHeight = aSubstituteMetric.mnAscent + aSubstituteMetric.mnDescent;
|
||||
+ //Too tall, shrink it a bit. Need a better calculation to include extra
|
||||
+ //factors and any extra wriggle room we might have available ?
|
||||
+ if (nSubstituteHeight > nOriginalHeight)
|
||||
+ {
|
||||
+ float fScale = nOriginalHeight/(float)nSubstituteHeight;
|
||||
+ long nOrigHeight = aFontSelData.mnHeight;
|
||||
+ aFontSelData.mnHeight *= fScale;
|
||||
+ pFallbackFont->mnSetFontFlags = mpGraphics->SetFont( &aFontSelData, nFallbackLevel );
|
||||
+ aFontSelData.mnHeight = nOrigHeight;
|
||||
+ }
|
||||
|
||||
// create and add glyph fallback layout to multilayout
|
||||
rLayoutArgs.ResetPos();
|
||||
diff -ru vcl.orig/unx/headless/svpgdi.hxx vcl/unx/headless/svpgdi.hxx
|
||||
--- vcl.orig/unx/headless/svpgdi.hxx 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/headless/svpgdi.hxx 2010-06-09 11:56:34.000000000 +0100
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
virtual void SetTextColor( SalColor nSalColor );
|
||||
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
|
||||
- virtual void GetFontMetric( ImplFontMetricData* );
|
||||
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel );
|
||||
virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
|
||||
virtual ImplFontCharMap* GetImplFontCharMap() const;
|
||||
virtual void GetDevFontList( ImplDevFontList* );
|
||||
diff -ru vcl.orig/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.cxx
|
||||
--- vcl.orig/unx/headless/svppspgraphics.cxx 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/headless/svppspgraphics.cxx 2010-06-09 12:01:06.000000000 +0100
|
||||
@@ -792,7 +792,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-void PspGraphics::GetFontMetric( ImplFontMetricData *pMetric )
|
||||
+void PspGraphics::GetFontMetric( ImplFontMetricData *pMetric, int )
|
||||
{
|
||||
const psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
|
||||
psp::PrintFontInfo aInfo;
|
||||
diff -ru vcl.orig/unx/headless/svppspgraphics.hxx vcl/unx/headless/svppspgraphics.hxx
|
||||
--- vcl.orig/unx/headless/svppspgraphics.hxx 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/headless/svppspgraphics.hxx 2010-06-09 11:57:47.000000000 +0100
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
virtual void SetTextColor( SalColor nSalColor );
|
||||
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
|
||||
- virtual void GetFontMetric( ImplFontMetricData* );
|
||||
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel );
|
||||
virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
|
||||
virtual ImplFontCharMap* GetImplFontCharMap() const;
|
||||
virtual void GetDevFontList( ImplDevFontList* );
|
||||
diff -ru vcl.orig/unx/headless/svptext.cxx vcl/unx/headless/svptext.cxx
|
||||
--- vcl.orig/unx/headless/svptext.cxx 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/headless/svptext.cxx 2010-06-09 11:57:29.000000000 +0100
|
||||
@@ -240,12 +240,15 @@
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
-void SvpSalGraphics::GetFontMetric( ImplFontMetricData* pMetric )
|
||||
+void SvpSalGraphics::GetFontMetric( ImplFontMetricData* pMetric, int nFallbackLevel )
|
||||
{
|
||||
- if( m_pServerFont[0] != NULL )
|
||||
+ if( nFallbackLevel >= MAX_FALLBACK )
|
||||
+ return;
|
||||
+
|
||||
+ if( m_pServerFont[nFallbackLevel] != NULL )
|
||||
{
|
||||
long rDummyFactor;
|
||||
- m_pServerFont[0]->FetchFontMetric( *pMetric, rDummyFactor );
|
||||
+ m_pServerFont[nFallbackLevel]->FetchFontMetric( *pMetric, rDummyFactor );
|
||||
}
|
||||
}
|
||||
|
||||
diff -ru vcl.orig/unx/inc/pspgraphics.h vcl/unx/inc/pspgraphics.h
|
||||
--- vcl.orig/unx/inc/pspgraphics.h 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/inc/pspgraphics.h 2010-06-09 11:55:52.000000000 +0100
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
virtual void SetTextColor( SalColor nSalColor );
|
||||
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
|
||||
- virtual void GetFontMetric( ImplFontMetricData* );
|
||||
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel );
|
||||
virtual ULONG GetKernPairs( ULONG nMaxPairs, ImplKernPairData* );
|
||||
virtual ImplFontCharMap* GetImplFontCharMap() const;
|
||||
virtual void GetDevFontList( ImplDevFontList* );
|
||||
diff -ru vcl.orig/unx/inc/salgdi.h vcl/unx/inc/salgdi.h
|
||||
--- vcl.orig/unx/inc/salgdi.h 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/inc/salgdi.h 2010-06-09 11:55:46.000000000 +0100
|
||||
@@ -249,7 +249,7 @@
|
||||
|
||||
virtual void SetTextColor( SalColor nSalColor );
|
||||
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
|
||||
- virtual void GetFontMetric( ImplFontMetricData* );
|
||||
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel );
|
||||
virtual ULONG GetKernPairs( ULONG nMaxPairs, ImplKernPairData* );
|
||||
virtual ImplFontCharMap* GetImplFontCharMap() const;
|
||||
virtual void GetDevFontList( ImplDevFontList* );
|
||||
diff -ru vcl.orig/unx/source/gdi/pspgraphics.cxx vcl/unx/source/gdi/pspgraphics.cxx
|
||||
--- vcl.orig/unx/source/gdi/pspgraphics.cxx 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/source/gdi/pspgraphics.cxx 2010-06-09 12:02:18.000000000 +0100
|
||||
@@ -885,7 +885,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-void PspGraphics::GetFontMetric( ImplFontMetricData *pMetric )
|
||||
+void PspGraphics::GetFontMetric( ImplFontMetricData *pMetric, int )
|
||||
{
|
||||
const psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
|
||||
psp::PrintFontInfo aInfo;
|
||||
diff -ru vcl.orig/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salgdi3.cxx
|
||||
--- vcl.orig/unx/source/gdi/salgdi3.cxx 2010-06-08 16:16:51.000000000 +0100
|
||||
+++ vcl/unx/source/gdi/salgdi3.cxx 2010-06-09 11:52:55.000000000 +0100
|
||||
@@ -1747,16 +1747,19 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void
|
||||
-X11SalGraphics::GetFontMetric( ImplFontMetricData *pMetric )
|
||||
+X11SalGraphics::GetFontMetric( ImplFontMetricData *pMetric, int nFallbackLevel )
|
||||
{
|
||||
- if( mpServerFont[0] != NULL )
|
||||
+ if( nFallbackLevel >= MAX_FALLBACK )
|
||||
+ return;
|
||||
+
|
||||
+ if( mpServerFont[nFallbackLevel] != NULL )
|
||||
{
|
||||
long rDummyFactor;
|
||||
- mpServerFont[0]->FetchFontMetric( *pMetric, rDummyFactor );
|
||||
+ mpServerFont[nFallbackLevel]->FetchFontMetric( *pMetric, rDummyFactor );
|
||||
}
|
||||
- else if( mXFont[0] != NULL )
|
||||
+ else if( mXFont[nFallbackLevel] != NULL )
|
||||
{
|
||||
- mXFont[0]->ToImplFontMetricData( pMetric );
|
||||
+ mXFont[nFallbackLevel]->ToImplFontMetricData( pMetric );
|
||||
if ( bFontVertical_ )
|
||||
pMetric->mnOrientation = 0;
|
||||
}
|
||||
diff -ru vcl.orig/source/glyphs/gcach_ftyp.cxx vcl/source/glyphs/gcach_ftyp.cxx
|
||||
--- vcl.orig/source/glyphs/gcach_ftyp.cxx 2010-06-21 09:44:48.000000000 +0100
|
||||
+++ vcl/source/glyphs/gcach_ftyp.cxx 2010-06-21 10:45:25.000000000 +0100
|
||||
@@ -892,6 +909,9 @@
|
||||
}
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+ if( mnPrioEmbedded <= 0 )
|
||||
+ mnLoadFlags |= FT_LOAD_NO_BITMAP;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
diff -ru extensions.orig/source/scanner/scanner.cxx extensions/source/scanner/scanner.cxx
|
||||
--- extensions.orig/source/scanner/scanner.cxx 2010-07-12 20:17:35.000000000 +0100
|
||||
+++ extensions/source/scanner/scanner.cxx 2010-07-13 10:17:25.000000000 +0100
|
||||
@@ -43,13 +43,14 @@
|
||||
ScannerManager::ScannerManager() :
|
||||
mpData( NULL )
|
||||
{
|
||||
+ AcquireData();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
ScannerManager::~ScannerManager()
|
||||
{
|
||||
- DestroyData();
|
||||
+ ReleaseData();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
diff -ru extensions.orig/source/scanner/scanner.hxx extensions/source/scanner/scanner.hxx
|
||||
--- extensions.orig/source/scanner/scanner.hxx 2010-07-12 20:17:35.000000000 +0100
|
||||
+++ extensions/source/scanner/scanner.hxx 2010-07-13 09:27:57.000000000 +0100
|
||||
@@ -73,7 +73,8 @@
|
||||
vos::OMutex maProtector;
|
||||
void* mpData;
|
||||
|
||||
- void DestroyData();
|
||||
+ void AcquireData();
|
||||
+ void ReleaseData();
|
||||
|
||||
public:
|
||||
|
||||
@@ -105,7 +106,7 @@
|
||||
void Unlock() { maProtector.release(); }
|
||||
|
||||
void* GetData() const { return mpData; }
|
||||
- void SetData( void* pData ) { DestroyData(); mpData = pData; }
|
||||
+ void SetData( void* pData ) { ReleaseData(); mpData = pData; }
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
diff -ru extensions.orig/source/scanner/scanunx.cxx extensions/source/scanner/scanunx.cxx
|
||||
--- extensions.orig/source/scanner/scanunx.cxx 2010-07-12 20:17:35.000000000 +0100
|
||||
+++ extensions/source/scanner/scanunx.cxx 2010-07-13 10:16:41.000000000 +0100
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <sanedlg.hxx>
|
||||
#include <vos/thread.hxx>
|
||||
#include <tools/list.hxx>
|
||||
+#include <boost/shared_ptr.hpp>
|
||||
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
#include <stdio.h>
|
||||
@@ -113,12 +114,41 @@
|
||||
vos::OMutex m_aProtector;
|
||||
ScanError m_nError;
|
||||
bool m_bBusy;
|
||||
+
|
||||
+ SaneHolder() : m_nError(ScanError_ScanErrorNone), m_bBusy(false) {}
|
||||
};
|
||||
|
||||
-DECLARE_LIST( SaneHolderList, SaneHolder* )
|
||||
+namespace
|
||||
+{
|
||||
+ typedef std::vector< boost::shared_ptr<SaneHolder> > sanevec;
|
||||
+ class allSanes
|
||||
+ {
|
||||
+ private:
|
||||
+ int mnRefCount;
|
||||
+ public:
|
||||
+ sanevec m_aSanes;
|
||||
+ allSanes() : mnRefCount(0) {}
|
||||
+ void acquire();
|
||||
+ void release();
|
||||
+ };
|
||||
+
|
||||
+ void allSanes::acquire()
|
||||
+ {
|
||||
+ ++mnRefCount;
|
||||
+ }
|
||||
+
|
||||
+ void allSanes::release()
|
||||
+ {
|
||||
+ // was unused, now because of i99835: "Scanning interface not SANE API
|
||||
+ // compliant" destroy all SaneHolder to get Sane Dtor called
|
||||
+ --mnRefCount;
|
||||
+ if (!mnRefCount)
|
||||
+ m_aSanes.clear();
|
||||
+ }
|
||||
|
||||
-static SaneHolderList allSanes;
|
||||
-static vos::OMutex aSaneProtector;
|
||||
+ struct theSaneProtector : public rtl::Static<vos::OMutex, theSaneProtector> {};
|
||||
+ struct theSanes : public rtl::Static<allSanes, theSanes> {};
|
||||
+}
|
||||
|
||||
// -----------------
|
||||
// - ScannerThread -
|
||||
@@ -126,7 +156,7 @@
|
||||
|
||||
class ScannerThread : public vos::OThread
|
||||
{
|
||||
- SaneHolder* m_pHolder;
|
||||
+ boost::shared_ptr<SaneHolder> m_pHolder;
|
||||
REF( com::sun::star::lang::XEventListener ) m_xListener;
|
||||
ScannerManager* m_pManager; // just for the disposing call
|
||||
|
||||
@@ -134,7 +164,7 @@
|
||||
virtual void run();
|
||||
virtual void onTerminated() { delete this; }
|
||||
public:
|
||||
- ScannerThread( SaneHolder* pHolder,
|
||||
+ ScannerThread( boost::shared_ptr<SaneHolder> pHolder,
|
||||
const REF( com::sun::star::lang::XEventListener )& listener,
|
||||
ScannerManager* pManager );
|
||||
virtual ~ScannerThread();
|
||||
@@ -143,7 +173,7 @@
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
ScannerThread::ScannerThread(
|
||||
- SaneHolder* pHolder,
|
||||
+ boost::shared_ptr<SaneHolder> pHolder,
|
||||
const REF( com::sun::star::lang::XEventListener )& listener,
|
||||
ScannerManager* pManager )
|
||||
: m_pHolder( pHolder ), m_xListener( listener ), m_pManager( pManager )
|
||||
@@ -192,16 +222,16 @@
|
||||
// - ScannerManager -
|
||||
// ------------------
|
||||
|
||||
-void ScannerManager::DestroyData()
|
||||
+void ScannerManager::AcquireData()
|
||||
{
|
||||
- // was unused, now because of i99835: "Scanning interface not SANE API compliant"
|
||||
- // delete all SaneHolder to get Sane Dtor called
|
||||
- int i;
|
||||
- for ( i = allSanes.Count(); i > 0; i-- )
|
||||
- {
|
||||
- SaneHolder *pSaneHolder = allSanes.GetObject(i-1);
|
||||
- if ( pSaneHolder ) delete pSaneHolder;
|
||||
- }
|
||||
+ vos::OGuard aGuard( theSaneProtector::get() );
|
||||
+ theSanes::get().acquire();
|
||||
+}
|
||||
+
|
||||
+void ScannerManager::ReleaseData()
|
||||
+{
|
||||
+ vos::OGuard aGuard( theSaneProtector::get() );
|
||||
+ theSanes::get().release();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
@@ -224,17 +254,14 @@
|
||||
|
||||
SEQ( ScannerContext ) ScannerManager::getAvailableScanners() throw()
|
||||
{
|
||||
- vos::OGuard aGuard( aSaneProtector );
|
||||
+ vos::OGuard aGuard( theSaneProtector::get() );
|
||||
+ sanevec &rSanes = theSanes::get().m_aSanes;
|
||||
|
||||
- if( ! allSanes.Count() )
|
||||
+ if( rSanes.empty() )
|
||||
{
|
||||
- SaneHolder* pSaneHolder = new SaneHolder;
|
||||
- pSaneHolder->m_nError = ScanError_ScanErrorNone;
|
||||
- pSaneHolder->m_bBusy = false;
|
||||
+ boost::shared_ptr<SaneHolder> pSaneHolder(new SaneHolder);
|
||||
if( Sane::IsSane() )
|
||||
- allSanes.Insert( pSaneHolder );
|
||||
- else
|
||||
- delete pSaneHolder;
|
||||
+ rSanes.push_back( pSaneHolder );
|
||||
}
|
||||
|
||||
if( Sane::IsSane() )
|
||||
@@ -252,20 +279,21 @@
|
||||
|
||||
BOOL ScannerManager::configureScanner( ScannerContext& scanner_context ) throw( ScannerException )
|
||||
{
|
||||
- vos::OGuard aGuard( aSaneProtector );
|
||||
+ vos::OGuard aGuard( theSaneProtector::get() );
|
||||
+ sanevec &rSanes = theSanes::get().m_aSanes;
|
||||
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
fprintf( stderr, "ScannerManager::configureScanner\n" );
|
||||
#endif
|
||||
|
||||
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
|
||||
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
|
||||
throw ScannerException(
|
||||
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
|
||||
REF( XScannerManager )( this ),
|
||||
ScanError_InvalidContext
|
||||
);
|
||||
|
||||
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
|
||||
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
|
||||
if( pHolder->m_bBusy )
|
||||
throw ScannerException(
|
||||
::rtl::OUString::createFromAscii( "Scanner is busy" ),
|
||||
@@ -286,19 +314,20 @@
|
||||
void ScannerManager::startScan( const ScannerContext& scanner_context,
|
||||
const REF( com::sun::star::lang::XEventListener )& listener ) throw( ScannerException )
|
||||
{
|
||||
- vos::OGuard aGuard( aSaneProtector );
|
||||
+ vos::OGuard aGuard( theSaneProtector::get() );
|
||||
+ sanevec &rSanes = theSanes::get().m_aSanes;
|
||||
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
fprintf( stderr, "ScannerManager::startScan\n" );
|
||||
#endif
|
||||
|
||||
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
|
||||
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
|
||||
throw ScannerException(
|
||||
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
|
||||
REF( XScannerManager )( this ),
|
||||
ScanError_InvalidContext
|
||||
);
|
||||
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
|
||||
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
|
||||
if( pHolder->m_bBusy )
|
||||
throw ScannerException(
|
||||
::rtl::OUString::createFromAscii( "Scanner is busy" ),
|
||||
@@ -315,16 +344,17 @@
|
||||
|
||||
ScanError ScannerManager::getError( const ScannerContext& scanner_context ) throw( ScannerException )
|
||||
{
|
||||
- vos::OGuard aGuard( aSaneProtector );
|
||||
+ vos::OGuard aGuard( theSaneProtector::get() );
|
||||
+ sanevec &rSanes = theSanes::get().m_aSanes;
|
||||
|
||||
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
|
||||
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
|
||||
throw ScannerException(
|
||||
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
|
||||
REF( XScannerManager )( this ),
|
||||
ScanError_InvalidContext
|
||||
);
|
||||
|
||||
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
|
||||
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
|
||||
|
||||
return pHolder->m_nError;
|
||||
}
|
||||
@@ -333,15 +363,16 @@
|
||||
|
||||
REF( AWT::XBitmap ) ScannerManager::getBitmap( const ScannerContext& scanner_context ) throw( ScannerException )
|
||||
{
|
||||
- vos::OGuard aGuard( aSaneProtector );
|
||||
+ vos::OGuard aGuard( theSaneProtector::get() );
|
||||
+ sanevec &rSanes = theSanes::get().m_aSanes;
|
||||
|
||||
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
|
||||
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
|
||||
throw ScannerException(
|
||||
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
|
||||
REF( XScannerManager )( this ),
|
||||
ScanError_InvalidContext
|
||||
);
|
||||
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
|
||||
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
|
||||
|
||||
vos::OGuard aProtGuard( pHolder->m_aProtector );
|
||||
|
||||
diff -ru extensions.orig/source/scanner/scanwin.cxx extensions/source/scanner/scanwin.cxx
|
||||
--- extensions.orig/source/scanner/scanwin.cxx 2010-07-12 20:17:35.000000000 +0100
|
||||
+++ extensions/source/scanner/scanwin.cxx 2010-07-13 09:28:40.000000000 +0100
|
||||
@@ -887,7 +887,11 @@
|
||||
// - ScannerManager -
|
||||
// ------------------
|
||||
|
||||
-void ScannerManager::DestroyData()
|
||||
+void ScannerManager::AcquireData()
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+void ScannerManager::ReleaseData()
|
||||
{
|
||||
if( mpData )
|
||||
{
|
||||
@@ -979,7 +983,7 @@
|
||||
}
|
||||
|
||||
GlobalUnlock( hDIB );
|
||||
- DestroyData();
|
||||
+ ReleaseData();
|
||||
}
|
||||
|
||||
return aRet;
|
||||
@@ -1009,7 +1013,7 @@
|
||||
if( rContext.InternalData != 0 || rContext.ScannerName != ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TWAIN" ) ) )
|
||||
throw ScannerException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Scanner does not exist" ) ), xThis, ScanError_InvalidContext );
|
||||
|
||||
- DestroyData();
|
||||
+ ReleaseData();
|
||||
|
||||
return aTwain.SelectSource( *this );
|
||||
}
|
||||
@@ -1025,7 +1029,7 @@
|
||||
if( rContext.InternalData != 0 || rContext.ScannerName != ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TWAIN" ) ) )
|
||||
throw ScannerException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Scanner does not exist" ) ), xThis, ScanError_InvalidContext );
|
||||
|
||||
- DestroyData();
|
||||
+ ReleaseData();
|
||||
aTwain.PerformTransfer( *this, rxListener );
|
||||
}
|
||||
|
@ -0,0 +1,57 @@
|
||||
diff -ru vcl.orig/unx/gtk/app/gtkdata.cxx vcl/unx/gtk/app/gtkdata.cxx
|
||||
--- vcl.orig/unx/gtk/app/gtkdata.cxx 2010-07-19 15:32:25.000000000 +0100
|
||||
+++ vcl/unx/gtk/app/gtkdata.cxx 2010-07-19 15:43:33.000000000 +0100
|
||||
@@ -519,6 +519,7 @@
|
||||
GSource *m_pUserEvent;
|
||||
oslMutex m_aDispatchMutex;
|
||||
oslCondition m_aDispatchCondition;
|
||||
+ XIOErrorHandler m_aOrigGTKXIOErrorHandler;
|
||||
|
||||
public:
|
||||
static gboolean timeoutFn(gpointer data);
|
||||
@@ -552,6 +553,7 @@
|
||||
m_pUserEvent = NULL;
|
||||
m_aDispatchCondition = osl_createCondition();
|
||||
m_aDispatchMutex = osl_createMutex();
|
||||
+ m_aOrigGTKXIOErrorHandler = NULL;
|
||||
}
|
||||
|
||||
GtkXLib::~GtkXLib()
|
||||
@@ -565,6 +567,9 @@
|
||||
osl_setCondition( m_aDispatchCondition );
|
||||
osl_destroyCondition( m_aDispatchCondition );
|
||||
osl_destroyMutex( m_aDispatchMutex );
|
||||
+
|
||||
+ PopXErrorLevel();
|
||||
+ XSetIOErrorHandler (m_aOrigGTKXIOErrorHandler);
|
||||
}
|
||||
|
||||
void GtkXLib::Init()
|
||||
@@ -626,6 +631,10 @@
|
||||
// init gtk/gdk
|
||||
gtk_init_check( &nParams, &pCmdLineAry );
|
||||
|
||||
+ //gtk_init_check sets XError/XIOError handlers, we want our own one
|
||||
+ m_aOrigGTKXIOErrorHandler = XSetIOErrorHandler ( (XIOErrorHandler)X11SalData::XIOErrorHdl );
|
||||
+ PushXErrorLevel( !!getenv( "SAL_IGNOREXERRORS" ) );
|
||||
+
|
||||
for (i = 0; i < nParams; i++ )
|
||||
g_free( pCmdLineAry[i] );
|
||||
delete [] pCmdLineAry;
|
||||
diff -ru vcl/unx/gtk/a11y.orig/atkutil.cxx vcl/unx/gtk/a11y/atkutil.cxx
|
||||
--- vcl.orig/unx/gtk/a11y.orig/atkutil.cxx 2010-07-28 09:07:53.000000000 +0100
|
||||
+++ vcl/unx/gtk/a11y/atkutil.cxx 2010-07-28 09:10:39.000000000 +0100
|
||||
@@ -77,11 +77,10 @@
|
||||
uno::Reference< accessibility::XAccessible > xAccessible = xNextFocusObject;
|
||||
if( xAccessible.get() == reinterpret_cast < accessibility::XAccessible * > (data) )
|
||||
{
|
||||
+ AtkObject *atk_obj = xAccessible.is() ? atk_object_wrapper_ref( xAccessible ) : NULL;
|
||||
// Gail does not notify focus changes to NULL, so do we ..
|
||||
- if( xAccessible.is() )
|
||||
+ if( atk_obj )
|
||||
{
|
||||
- AtkObject *atk_obj = atk_object_wrapper_ref( xAccessible );
|
||||
-
|
||||
#ifdef ENABLE_TRACING
|
||||
fprintf(stderr, "notifying focus event for %p\n", atk_obj);
|
||||
#endif
|
@ -0,0 +1,13 @@
|
||||
diff -r e08d3a985a67 vcl/unx/gtk/window/gtkframe.cxx
|
||||
--- a/vcl/unx/gtk/window/gtkframe.cxx Fri Aug 06 13:25:47 2010 +0100
|
||||
+++ b/vcl/unx/gtk/window/gtkframe.cxx Fri Aug 13 08:58:07 2010 +0100
|
||||
@@ -1355,7 +1355,8 @@
|
||||
// awesome.
|
||||
bool bHack =
|
||||
getDisplay()->getWMAdaptor()->getWindowManagerName().EqualsAscii("Metacity") ||
|
||||
- getDisplay()->getWMAdaptor()->getWindowManagerName().EqualsAscii("compiz")
|
||||
+ getDisplay()->getWMAdaptor()->getWindowManagerName().EqualsAscii("compiz") ||
|
||||
+ getDisplay()->getWMAdaptor()->getWindowManagerName().EqualsAscii("Mutter")
|
||||
;
|
||||
if( nUserTime == 0 && bHack )
|
||||
{
|
Loading…
Reference in new issue