diff --git a/.gitignore b/.gitignore index 94338c8..b86c436 100644 --- a/.gitignore +++ b/.gitignore @@ -6,25 +6,24 @@ /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 +/libreoffice-artwork-3.2.99.2.tar.bz2 +/libreoffice-base-3.2.99.2.tar.bz2 +/libreoffice-bootstrap-3.2.99.2.tar.bz2 +/libreoffice-calc-3.2.99.2.tar.bz2 +/libreoffice-components-3.2.99.2.tar.bz2 +/libreoffice-extensions-3.2.99.2.tar.bz2 +/libreoffice-extras-3.2.99.2.tar.bz2 +/libreoffice-filters-3.2.99.2.tar.bz2 +/libreoffice-help-3.2.99.2.tar.bz2 +/libreoffice-impress-3.2.99.2.tar.bz2 +/libreoffice-l10n-3.2.99.2.tar.bz2 +/libreoffice-libs-core-3.2.99.2.tar.bz2 +/libreoffice-libs-extern-3.2.99.2.tar.bz2 +/libreoffice-libs-extern-sys-3.2.99.2.tar.bz2 +/libreoffice-libs-gui-3.2.99.2.tar.bz2 +/libreoffice-postprocess-3.2.99.2.tar.bz2 +/libreoffice-sdk-3.2.99.2.tar.bz2 +/libreoffice-testing-3.2.99.2.tar.bz2 +/libreoffice-ure-3.2.99.2.tar.bz2 +/libreoffice-writer-3.2.99.2.tar.bz2 diff --git a/libreoffice.spec b/libreoffice.spec index d4df772..bb2a676 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -27,38 +27,36 @@ Summary: Free Software Productivity Suite Name: libreoffice -Version: 3.2.99.1 -Release: 2%{?dist} +Version: 3.2.99.2 +Release: 1%{?dist} License: LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and (CDDL or GPLv2) and Public Domain Group: Applications/Productivity URL: http://www.documentfoundation.org/develop BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Source0: http://download.documentfoundation.org/libreoffice/src/libreoffice-artwork-3.2.99.1.tar.bz2 -Source1: http://download.documentfoundation.org/libreoffice/src/libreoffice-base-3.2.99.1.tar.bz2 -Source2: http://download.documentfoundation.org/libreoffice/src/libreoffice-bootstrap-3.2.99.1.tar.bz2 -Source3: http://download.documentfoundation.org/libreoffice/src/libreoffice-calc-3.2.99.1.tar.bz2 -Source4: http://download.documentfoundation.org/libreoffice/src/libreoffice-components-3.2.99.1.tar.bz2 -Source5: http://download.documentfoundation.org/libreoffice/src/libreoffice-extensions-3.2.99.1.tar.bz2 -Source6: http://download.documentfoundation.org/libreoffice/src/libreoffice-extras-3.2.99.1.tar.bz2 -Source7: http://download.documentfoundation.org/libreoffice/src/libreoffice-filters-3.2.99.1.tar.bz2 -Source8: http://download.documentfoundation.org/libreoffice/src/libreoffice-help-3.2.99.1.tar.bz2 -Source9: http://download.documentfoundation.org/libreoffice/src/libreoffice-impress-3.2.99.1.tar.bz2 -Source10: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-core-3.2.99.1.tar.bz2 -Source11: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-extern-3.2.99.1.tar.bz2 -Source12: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-extern-sys-3.2.99.1.tar.bz2 -Source13: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-gui-3.2.99.1.tar.bz2 -Source14: http://download.documentfoundation.org/libreoffice/src/libreoffice-postprocess-3.2.99.1.tar.bz2 -Source15: http://download.documentfoundation.org/libreoffice/src/libreoffice-sdk-3.2.99.1.tar.bz2 -Source16: http://download.documentfoundation.org/libreoffice/src/libreoffice-testing-3.2.99.1.tar.bz2 -Source17: http://download.documentfoundation.org/libreoffice/src/libreoffice-ure-3.2.99.1.tar.bz2 -Source18: http://download.documentfoundation.org/libreoffice/src/libreoffice-writer-3.2.99.1.tar.bz2 +Source0: http://download.documentfoundation.org/libreoffice/src/libreoffice-artwork-3.2.99.2.tar.bz2 +Source1: http://download.documentfoundation.org/libreoffice/src/libreoffice-base-3.2.99.2.tar.bz2 +Source2: http://download.documentfoundation.org/libreoffice/src/libreoffice-bootstrap-3.2.99.2.tar.bz2 +Source3: http://download.documentfoundation.org/libreoffice/src/libreoffice-calc-3.2.99.2.tar.bz2 +Source4: http://download.documentfoundation.org/libreoffice/src/libreoffice-components-3.2.99.2.tar.bz2 +Source5: http://download.documentfoundation.org/libreoffice/src/libreoffice-extensions-3.2.99.2.tar.bz2 +Source6: http://download.documentfoundation.org/libreoffice/src/libreoffice-extras-3.2.99.2.tar.bz2 +Source7: http://download.documentfoundation.org/libreoffice/src/libreoffice-filters-3.2.99.2.tar.bz2 +Source8: http://download.documentfoundation.org/libreoffice/src/libreoffice-help-3.2.99.2.tar.bz2 +Source9: http://download.documentfoundation.org/libreoffice/src/libreoffice-impress-3.2.99.2.tar.bz2 +Source10: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-core-3.2.99.2.tar.bz2 +Source11: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-extern-3.2.99.2.tar.bz2 +Source12: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-extern-sys-3.2.99.2.tar.bz2 +Source13: http://download.documentfoundation.org/libreoffice/src/libreoffice-libs-gui-3.2.99.2.tar.bz2 +Source14: http://download.documentfoundation.org/libreoffice/src/libreoffice-postprocess-3.2.99.2.tar.bz2 +Source15: http://download.documentfoundation.org/libreoffice/src/libreoffice-sdk-3.2.99.2.tar.bz2 +Source16: http://download.documentfoundation.org/libreoffice/src/libreoffice-testing-3.2.99.2.tar.bz2 +Source17: http://download.documentfoundation.org/libreoffice/src/libreoffice-ure-3.2.99.2.tar.bz2 +Source18: http://download.documentfoundation.org/libreoffice/src/libreoffice-writer-3.2.99.2.tar.bz2 Source19: http://cgit.freedesktop.org/ooo-build/ooo-build/plain/src/evolocal.odb Source20: http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll -Source21: redhat-registry.tar.gz -Source22: redhat-langpacks.tar.gz -Source23: redhat-agreement.xsl -Source24: http://www.openoffice.org/nonav/issues/showattachment.cgi/66959/acor_lt.zip -Source25: libreoffice-multiliblauncher.sh +Source21: redhat-langpacks.tar.gz +Source22: http://www.openoffice.org/nonav/issues/showattachment.cgi/66959/acor_lt.zip +Source23: libreoffice-multiliblauncher.sh Source26: http://hg.services.openoffice.org/binaries/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz Source27: http://hg.services.openoffice.org/binaries/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip Source28: http://hg.services.openoffice.org/binaries/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz @@ -68,7 +66,7 @@ Source31: http://hg.services.openoffice.org/binaries/ada24d37d8d638b3d8a99 Source32: http://hg.services.openoffice.org/binaries/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz Source33: description.xml Source34: manifest.xml -Source35: http://download.documentfoundation.org/libreoffice/src/libreoffice-l10n-3.2.99.1.tar.bz2 +Source35: http://download.documentfoundation.org/libreoffice/src/libreoffice-l10n-3.2.99.2.tar.bz2 BuildRequires: zip, findutils, autoconf, flex, bison, icu, gperf, gcc-c++ BuildRequires: binutils, java-devel >= 1.6.0, boost-devel, zlib-devel BuildRequires: python-devel, expat-devel, libxml2-devel, libxslt-devel, bc @@ -90,45 +88,18 @@ Patch1: openoffice.org-2.0.1.rhXXXXXX.extensions.defaulttoevo2.patch Patch2: openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch Patch3: openoffice.org-2.0.2.rh188467.printingdefaults.patch Patch4: openoffice.org-2.2.1.ooo7065.sw.titlepagedialog.patch -Patch5: openoffice.org-2.3.0.ooo76649.httpencoding.patch -Patch6: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch -Patch7: openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch -Patch8: workspace.dtardon03.patch -Patch9: openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch -Patch10: openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch -Patch11: openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch -Patch12: openoffice.org-3.1.0.ooo101274.opening-a-directory.patch -Patch13: openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch -Patch14: workspace.impress195.patch -Patch15: openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch -Patch16: workspace.srb1.patch -Patch17: openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch -Patch18: openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch -Patch19: openoffice.org-3.3.0.ooo108637.sfx2.uisavedir.patch -Patch20: openoffice.org-3.2.0.ooo108846.sfx2.qstartfixes.patch -Patch21: openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch -Patch22: openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch -Patch23: openoffice.org-3.3.0.ooo111758.sd.xerror.patch -Patch24: openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch -Patch25: openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch -Patch26: openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch -Patch27: openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch -Patch28: workspace.vcl113.patch -Patch29: openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch -Patch30: workspace.gtk3.patch -Patch31: workspace.cmcfixes77.patch -Patch32: workspace.vcl114.patch -Patch33: openoffice.org-3.3.0.ooo113273.desktop.resolvelinks.patch -Patch34: openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch -Patch35: workspace.vcl115.patch -Patch36: workspace.cmcfixes78.patch -Patch37: openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch -Patch38: workspace.cmcfixes79.patch -Patch39: openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch -Patch40: openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch -Patch41: openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch -Patch42: openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch -Patch43: libreoffice-buildfix.patch +Patch5: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch +Patch6: openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch +Patch7: openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch +Patch8: openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch +Patch9: openoffice.org-3.1.0.ooo101274.opening-a-directory.patch +Patch10: openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch +Patch11: openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch +Patch12: openoffice.org-3.3.0.ooo108637.sfx2.uisavedir.patch +Patch13: openoffice.org-3.2.0.ooo108846.sfx2.qstartfixes.patch +Patch14: openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch +Patch15: openoffice.org-3.3.0.ooo113273.desktop.resolvelinks.patch +Patch16: libreoffice-buildfix.patch %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %define instdir %{_libdir} @@ -1413,45 +1384,18 @@ cp -p %{SOURCE20} external/unowinreg/unowinreg.dll %patch2 -p1 -b .ooo53397.prelinkoptimize.desktop.patch %patch3 -p1 %patch4 -p1 -b .ooo7065.sw.titlepagedialog.patch -%patch5 -p0 -b .ooo76649.httpencoding.patch -%patch6 -p1 -b .ooo86080.unopkg.bodge.patch -%patch7 -p1 -b .ooo88341.sc.verticalboxes.patch -%patch8 -p0 -b .workspace.dtardon03.patch -%patch9 -p0 -b .gccXXXXX.solenv.javaregistration.patch -%patch10 -p1 -b .oooXXXXX.solenv.allowmissing.patch -%patch11 -p1 -b .ooo61927.sw.ww6.unicodefontencoding.patch -%patch12 -p0 -b .ooo101274.opening-a-directory.patch -%patch13 -p0 -b .ooo102061.sc.cellanchoring.patch -%patch14 -p0 -b .workspace.impress195.patch -%patch15 -p0 -b .ooo105784.vcl.sniffscriptforsubs.patch -%patch16 -p1 -b .workspace.srb1.patch -%patch17 -p1 -b .ooo106502.svx.fixspelltimer.patch -%patch18 -p1 -b .ooo108246.svx.hide-sql-group-when-inactive.patch -%patch19 -p1 -b .ooo108637.sfx2.uisavedir.patch -%patch20 -p1 -b .ooo108846.sfx2.qstartfixes.patch -%patch21 -p1 -b .ooo95369.sw.sortedobjs.patch -%patch22 -p0 -b .ooo110142.svx.safercolornames.patch -%patch23 -p0 -b .ooo111758.sd.xerror.patch -%patch24 -p1 -b .ooo111741.extras.malformed-xml-file.patch -%patch25 -p1 -b .ooo112059.sw.avoid-null-ptr-deref.patch -%patch26 -p0 -b .ooo107490.cppu.lifecycle.patch -%patch27 -p0 -b .ooo100686.wizards.types.not.mediatypes.patch -%patch28 -p0 -b .workspace.vcl113.patch -%patch29 -p0 -b .ooo112384.sw.export.doc.styledoesntexist.patch -%patch30 -p0 -b .workspace.gtk3.patch -%patch31 -p1 -b .workspace.cmcfixes77.patch -%patch32 -p0 -b .workspace.vcl114.patch -%patch33 -p0 -b .ooo113273.desktop.resolvelinks.patch -%patch34 -p0 -b .ooo106591.sal.tradcopy.patch -%patch35 -p1 -b .workspace.vcl115.patch -%patch36 -p1 -b .workspace.cmcfixes78.patch -%patch37 -p0 -b .ooo114012.sd.bada11ychain.patch -%patch38 -p1 -b .workspace.cmcfixes79.patch -%patch39 -p1 -b .ooo114703.vcl.betterlocalize.font.patch -%patch40 -p0 -b .rh637738.libgcrypt.addmutex.patch -%patch41 -p1 -b .rh638185.editeng.cjkctlhtmlsizes.patch -%patch42 -p1 -b .rh632236.writerfilter.cleanup-cell-props.patch -%patch43 -p1 -b .libreoffice-buildfix.patch +%patch5 -p1 -b .ooo86080.unopkg.bodge.patch +%patch6 -p1 -b .ooo88341.sc.verticalboxes.patch +%patch7 -p0 -b .gccXXXXX.solenv.javaregistration.patch +%patch8 -p1 -b .oooXXXXX.solenv.allowmissing.patch +%patch9 -p0 -b .ooo101274.opening-a-directory.patch +%patch10 -p0 -b .ooo102061.sc.cellanchoring.patch +%patch11 -p0 -b .ooo105784.vcl.sniffscriptforsubs.patch +%patch12 -p1 -b .ooo108637.sfx2.uisavedir.patch +%patch13 -p1 -b .ooo108846.sfx2.qstartfixes.patch +%patch14 -p0 -b .ooo107490.cppu.lifecycle.patch +%patch15 -p0 -b .ooo113273.desktop.resolvelinks.patch +%patch16 -p1 -b .libreoffice-buildfix.patch %build echo build start time is `date`, diskspace: `df -h . | tail -n 1` @@ -1635,15 +1579,6 @@ pushd $RPM_BUILD_ROOT/%{sdkinstdir} find examples -type f -exec chmod -x {} \; popd -#add our custom configuration options -#enable gtk file dialog as the default -rm -rf $RPM_BUILD_ROOT/%{basisinstdir}/share/registry/modules/org/openoffice/Office/Common/Common-UseOOoFileDialogs.xcu -#default autorecovery settings -#system libtextcat fingerprint location -#rhbz#484055 system autocorr location -#rhbz#451512 set better math print options -tar xzf %{SOURCE21} -C $RPM_BUILD_ROOT/%{basisinstdir}/share - #add the debugging libsalalloc_malloc.so.3 library cp -f solver/%{OFFICEUPD}/unxlng*.pro/lib/libsalalloc_malloc.so.3 $RPM_BUILD_ROOT/%{ureinstdir}/lib chmod -x $RPM_BUILD_ROOT/%{basisinstdir}/program/testtoolrc @@ -1677,7 +1612,7 @@ popd pushd $RPM_BUILD_ROOT/%{basisinstdir}/share/autocorr # ooo#108049 -cp -p %{SOURCE24} acor_lt-LT.dat +cp -p %{SOURCE22} acor_lt-LT.dat #en-ZA exists and has a good autocorrect file with two or three extras that make sense for South Africa en_GB_aliases="en-AG en-AU en-BS en-BW en-BZ en-CA en-DK en-GH en-HK en-IE en-IN en-JM en-NG en-NZ en-SG en-TT" @@ -1771,7 +1706,7 @@ sh help western mai help western \ ro nohelp western ) -tar xzf %{SOURCE22} +tar xzf %{SOURCE21} i=0 while [ $i -lt ${#langpackdetails[@]} ]; do @@ -1890,12 +1825,12 @@ echo \#\!/bin/sh > $RPM_BUILD_ROOT/%{_bindir}/oobase echo exec libreoffice -base \"\$@\" >> $RPM_BUILD_ROOT/%{_bindir}/oobase chmod a+x $RPM_BUILD_ROOT/%{_bindir}/oobase -cp -f %{SOURCE25} $RPM_BUILD_ROOT/%{_bindir}/unopkg +cp -f %{SOURCE23} $RPM_BUILD_ROOT/%{_bindir}/unopkg sed -i -e "s/LAUNCHER/unopkg/g" $RPM_BUILD_ROOT/%{_bindir}/unopkg sed -i -e "s/BRAND/libreoffice/g" $RPM_BUILD_ROOT/%{_bindir}/unopkg chmod a+x $RPM_BUILD_ROOT/%{_bindir}/unopkg -cp -f %{SOURCE25} $RPM_BUILD_ROOT/%{_bindir}/libreoffice +cp -f %{SOURCE23} $RPM_BUILD_ROOT/%{_bindir}/libreoffice sed -i -e "s/LAUNCHER/soffice/g" $RPM_BUILD_ROOT/%{_bindir}/libreoffice sed -i -e "s/BRAND/libreoffice/g" $RPM_BUILD_ROOT/%{_bindir}/libreoffice chmod a+x $RPM_BUILD_ROOT/%{_bindir}/libreoffice @@ -3192,6 +3127,36 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %endif %changelog +* Mon Oct 11 2010 Caolán McNamara 3.2.99.2-1 +- next LibreOffice milestone +- drop integrated openoffice.org-2.3.0.ooo76649.httpencoding.patch +- drop integrated workspace.dtardon03.patch +- drop integrated openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch +- drop integrated workspace.impress195.patch +- drop integrated workspace.srb1.patch +- drop integrated openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch +- drop integrated openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch +- drop integrated openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch +- drop integrated openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch +- drop integrated openoffice.org-3.3.0.ooo111758.sd.xerror.patch +- drop integrated openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch +- drop integrated openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch +- drop integrated openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch +- drop integrated workspace.vcl113.patch +- drop integrated openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch +- drop integrated workspace.cmcfixes77.patch +- drop integrated workspace.vcl114.patch +- drop integrated openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch +- drop integrated workspace.vcl115.patch +- drop integrated workspace.cmcfixes78.patch +- drop integrated openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch +- drop integrated workspace.cmcfixes79.patch +- drop integrated openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch +- drop integrated openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch +- drop integrated openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch +- drop integrated openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch +- drop workspace.gtk3.patch + * Wed Oct 06 2010 Caolán McNamara 3.2.99.1-2 - Related: rhbz#639945 pull in review changes + redland build-fix diff --git a/openoffice.org-2.3.0.ooo76649.httpencoding.patch b/openoffice.org-2.3.0.ooo76649.httpencoding.patch deleted file mode 100644 index 3125263..0000000 --- a/openoffice.org-2.3.0.ooo76649.httpencoding.patch +++ /dev/null @@ -1,13 +0,0 @@ -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() diff --git a/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch b/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch index 72369d8..1a6ed83 100644 --- a/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch +++ b/openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch @@ -20,21 +20,22 @@ 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 @@ - } +@@ -2378,6 +2378,22 @@ + } ++ +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; ++ // 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; +} + @@ -42,26 +43,26 @@ diff -u -r1.54.216.1 output2.cxx 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; +@@ -2892,13 +2908,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) ) ) +- // 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 @@ + bClip = TRUE; + else + bSimClip = TRUE; +@@ -2948,6 +2959,18 @@ #endif - Rectangle aLogicClip; + Rectangle aLogicClip; + if ( + ((nAttrRotate == 9000) || (nAttrRotate == 27000)) && + (!(eOrient==SVX_ORIENTATION_STANDARD && !bAsianVertical)) && @@ -74,29 +75,30 @@ diff -u -r1.54.216.1 output2.cxx + 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 (bClip || bSimClip) + { + // Clip marks are already handled in GetOutputArea +@@ -3776,11 +3799,21 @@ + else + { + // bei gedrehtem Text ist Standard zentriert ++ long nDiff = 0; + if (eHorJust==SVX_HOR_JUSTIFY_RIGHT) +- aLogicStart.X() += nAvailWidth - nEngineWidth; ++ nDiff = nAvailWidth - nEngineWidth; + else if (eHorJust==SVX_HOR_JUSTIFY_CENTER || + eHorJust==SVX_HOR_JUSTIFY_STANDARD) +- aLogicStart.X() += (nAvailWidth - nEngineWidth) / 2; ++ nDiff = (nAvailWidth - nEngineWidth) / 2; + -+ if (nEngineWidth > nAvailWidth) -+ { ++ if (nEngineWidth > nAvailWidth) ++ { + if (nAttrRotate == 9000) -+ nDiff = 0; -+ else if (nAttrRotate == 27000) -+ nDiff = nAvailWidth - nEngineWidth; -+ } -+ aLogicStart.X() += nDiff; - } - } ++ nDiff = 0; ++ else if (nAttrRotate == 27000) ++ nDiff = nAvailWidth - nEngineWidth; ++ } ++ aLogicStart.X() += nDiff; + } + } diff --git a/openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch b/openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch index 1f781a4..b01288d 100644 --- a/openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch +++ b/openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch @@ -1365,52 +1365,52 @@ diff -ru sc.orig/source/filter/xml/XMLTableShapeResizer.hxx sc/source/filter/xml diff -ru sc.orig/source/ui/Accessibility/AccessibleDocument.cxx sc/source/ui/Accessibility/AccessibleDocument.cxx --- sc.orig/source/ui/Accessibility/AccessibleDocument.cxx 2009-06-04 12:39:41.000000000 +0100 +++ sc/source/ui/Accessibility/AccessibleDocument.cxx 2009-06-04 12:40:23.000000000 +0100 -@@ -44,6 +44,7 @@ +@@ -41,6 +41,7 @@ #include "drawview.hxx" #include "gridwin.hxx" #include "AccessibleEditObject.hxx" +#include "userdat.hxx" #include "scresid.hxx" - #ifndef SC_SC_HRC #include "sc.hrc" -@@ -1017,35 +1018,10 @@ + #include +@@ -977,35 +978,10 @@ uno::Reference xShapeProp(xShape, uno::UNO_QUERY); - if (pShapeImp && xShapeProp.is()) - { -- SdrObject *pSdrObj = pShapeImp->GetSdrObject(); -- if (pSdrObj) + if (pShapeImp && xShapeProp.is()) + { +- SdrObject *pSdrObj = pShapeImp->GetSdrObject(); +- if (pSdrObj) + if (SdrObject *pSdrObj = pShapeImp->GetSdrObject()) - { -- if (ScDrawLayer::GetAnchor(pSdrObj) == SCA_CELL) -- { + { +- if (ScDrawLayer::GetAnchor(pSdrObj) == SCA_CELL) +- { - ScDocument* pDoc = mpViewShell->GetViewData()->GetDocument(); -- if (pDoc) -- { +- if (pDoc) +- { - rtl::OUString sCaptionShape(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.CaptionShape")); -- awt::Point aPoint(xShape->getPosition()); -- awt::Size aSize(xShape->getSize()); -- rtl::OUString sType(xShape->getShapeType()); -- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height); -- if ( sType.equals(sCaptionShape) ) -- { -- awt::Point aRelativeCaptionPoint; +- awt::Point aPoint(xShape->getPosition()); +- awt::Size aSize(xShape->getSize()); +- rtl::OUString sType(xShape->getShapeType()); +- Rectangle aRectangle(aPoint.X, aPoint.Y, aPoint.X + aSize.Width, aPoint.Y + aSize.Height); +- if ( sType.equals(sCaptionShape) ) +- { +- awt::Point aRelativeCaptionPoint; - rtl::OUString sCaptionPoint( RTL_CONSTASCII_USTRINGPARAM( "CaptionPoint" )); -- xShapeProp->getPropertyValue( sCaptionPoint ) >>= aRelativeCaptionPoint; -- Point aCoreRelativeCaptionPoint(aRelativeCaptionPoint.X, aRelativeCaptionPoint.Y); -- Point aCoreAbsoluteCaptionPoint(aPoint.X, aPoint.Y); -- aCoreAbsoluteCaptionPoint += aCoreRelativeCaptionPoint; -- aRectangle.Union(Rectangle(aCoreAbsoluteCaptionPoint, aCoreAbsoluteCaptionPoint)); -- } -- ScRange aRange = pDoc->GetRange(mpAccessibleDocument->getVisibleTable(), aRectangle); +- xShapeProp->getPropertyValue( sCaptionPoint ) >>= aRelativeCaptionPoint; +- Point aCoreRelativeCaptionPoint(aRelativeCaptionPoint.X, aRelativeCaptionPoint.Y); +- Point aCoreAbsoluteCaptionPoint(aPoint.X, aPoint.Y); +- aCoreAbsoluteCaptionPoint += aCoreRelativeCaptionPoint; +- aRectangle.Union(Rectangle(aCoreAbsoluteCaptionPoint, aCoreAbsoluteCaptionPoint)); +- } +- ScRange aRange = pDoc->GetRange(mpAccessibleDocument->getVisibleTable(), aRectangle); - pAddress = new ScAddress(aRange.aStart); -- } -- } +- } +- } -// else -// do nothing, because it is always a NULL Pointer + if (ScDrawObjData *pAnchor = ScDrawLayer::GetObjData(pSdrObj)) + return new ScAddress(pAnchor->maStart); - } - } + } + } } diff -ru sc.orig/source/ui/drawfunc/drawsh2.cxx sc/source/ui/drawfunc/drawsh2.cxx --- sc.orig/source/ui/drawfunc/drawsh2.cxx 2009-06-04 12:39:40.000000000 +0100 diff --git a/openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch b/openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch deleted file mode 100644 index 5979187..0000000 --- a/openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch +++ /dev/null @@ -1,23 +0,0 @@ -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); diff --git a/openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch b/openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch deleted file mode 100644 index ed7fe4d..0000000 --- a/openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 - { diff --git a/openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch b/openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch deleted file mode 100644 index c316687..0000000 --- a/openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch +++ /dev/null @@ -1,31 +0,0 @@ -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 ); diff --git a/openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch b/openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch deleted file mode 100644 index 827fa5c..0000000 --- a/openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch +++ /dev/null @@ -1,24 +0,0 @@ -# HG changeset patch -# Parent 34e231cc7773ab82fa170edf12e1e6082e5fa50b -#i111741# fix malformed XML - -diff -r 34e231cc7773 extras/source/palettes/lang/pt-BR/classic_pt-BR.sog ---- a/extras/source/palettes/lang/pt-BR/classic_pt-BR.sog Fri May 21 08:28:32 2010 +0200 -+++ b/extras/source/palettes/lang/pt-BR/classic_pt-BR.sog Fri May 21 09:31:48 2010 +0200 -@@ -17,15 +17,4 @@ - - - -- -+ diff --git a/openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch b/openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch deleted file mode 100644 index 847fd89..0000000 --- a/openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch +++ /dev/null @@ -1,17 +0,0 @@ -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(pObj)) ); -+ ASSERT( pObj, "No Start Object." ); -+ if (pObj) aSortObjs.Insert( *(const_cast(pObj)) ); - const SwAnchoredObject* pObj2 = pEndFrm->FindFlyFrm(); -- aSortObjs.Insert( *(const_cast(pObj2)) ); -+ ASSERT( pObj2, "No Start Object." ); -+ if (pObj2) aSortObjs.Insert( *(const_cast(pObj2)) ); - } - - //Fall 4: Tabellenselection diff --git a/openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch b/openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch deleted file mode 100644 index 0c237dd..0000000 --- a/openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch +++ /dev/null @@ -1,37 +0,0 @@ -# HG changeset patch -# Parent 95fe59fa4df8614a0bf6b0f5b7c7114e98a28f8d -rhbz#632236: [abrt] [docx] _Construct 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( ) ); diff --git a/openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch b/openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch deleted file mode 100644 index 63c4839..0000000 --- a/openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- 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) diff --git a/openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch b/openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch deleted file mode 100644 index 6e85962..0000000 --- a/openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch +++ /dev/null @@ -1,83 +0,0 @@ -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 ) diff --git a/openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch b/openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch index 960dc32..9916bd3 100644 --- a/openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch +++ b/openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch @@ -397,214 +397,6 @@ -.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 -+#include - - #include - #include -@@ -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 *)" 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*) "\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 *)"\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 @@ diff --git a/openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch b/openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch deleted file mode 100644 index 4862e4b..0000000 --- a/openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch +++ /dev/null @@ -1,97 +0,0 @@ -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 diff --git a/openoffice.org-3.3.0.ooo111758.sd.xerror.patch b/openoffice.org-3.3.0.ooo111758.sd.xerror.patch deleted file mode 100644 index 4d7973d..0000000 --- a/openoffice.org-3.3.0.ooo111758.sd.xerror.patch +++ /dev/null @@ -1,21 +0,0 @@ -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(pFullScreenViewShellBase->GetMainViewShell().get()); -@@ -713,8 +715,6 @@ - } - } - -- xController->dispose(); -- - if( pFullScreenViewShellBase ) - { - PresentationViewShell* pShell = NULL; diff --git a/openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch b/openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch deleted file mode 100644 index 6bc8ef5..0000000 --- a/openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch +++ /dev/null @@ -1,16 +0,0 @@ -# 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); - } diff --git a/openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch b/openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch deleted file mode 100644 index 08a9b2a..0000000 --- a/openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 += ','; diff --git a/openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch b/openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch deleted file mode 100644 index 39a148d..0000000 --- a/openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- 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& 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; - } - - diff --git a/openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch b/openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch deleted file mode 100644 index e6d7a4b..0000000 --- a/openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch +++ /dev/null @@ -1,30 +0,0 @@ -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::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; - } - } diff --git a/openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch b/openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch deleted file mode 100644 index 7fc97cb..0000000 --- a/openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch +++ /dev/null @@ -1,167 +0,0 @@ -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: diff --git a/openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch b/openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch deleted file mode 100644 index 209c7cd..0000000 --- a/openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch +++ /dev/null @@ -1,64 +0,0 @@ -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 ); diff --git a/redhat-agreement.xsl b/redhat-agreement.xsl deleted file mode 100644 index 76e96a4..0000000 --- a/redhat-agreement.xsl +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/sources b/sources index 148d246..24927f7 100644 --- a/sources +++ b/sources @@ -6,25 +6,24 @@ a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2. 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 +06023a85090474a186e6ce6473c40127 libreoffice-artwork-3.2.99.2.tar.bz2 +fd6ba9df4a24940acba3f860bf6a59fa libreoffice-base-3.2.99.2.tar.bz2 +fd9c003b86eb42fca0856399dbb41e5e libreoffice-bootstrap-3.2.99.2.tar.bz2 +09d69784cf1f2fa1dd579f1352255a39 libreoffice-calc-3.2.99.2.tar.bz2 +f2bbc54234ef0e8cc2a9833d8a9794d2 libreoffice-components-3.2.99.2.tar.bz2 +dcfacc8ee8f9cf507fbe6584e120feb0 libreoffice-extensions-3.2.99.2.tar.bz2 +5a3f5a1fa57fc002886ab877145f5d83 libreoffice-extras-3.2.99.2.tar.bz2 +88ce0e284e72a9e7f7c41aa464e26f1f libreoffice-filters-3.2.99.2.tar.bz2 +954247706070d40150c1f29d926d6bfa libreoffice-help-3.2.99.2.tar.bz2 +b732c9854c7667cd17ab5c5217813157 libreoffice-impress-3.2.99.2.tar.bz2 +a1ed0d867eda10b1f8721948d0a9982f libreoffice-l10n-3.2.99.2.tar.bz2 +bd0ba58f97e26413ff33305ded0f68e9 libreoffice-libs-core-3.2.99.2.tar.bz2 +82090695974145d43f217c1469336583 libreoffice-libs-extern-3.2.99.2.tar.bz2 +36f3d9e5b266ac4c487608110f45dda6 libreoffice-libs-extern-sys-3.2.99.2.tar.bz2 +04275c10b9b2fe64cf92aeb8da74221e libreoffice-libs-gui-3.2.99.2.tar.bz2 +c6dc3c8beebd362b655e1bfd8118fa3c libreoffice-postprocess-3.2.99.2.tar.bz2 +5273c85300724600e557147d4cbf9fae libreoffice-sdk-3.2.99.2.tar.bz2 +f658ee713f18e3c00125d363fc862c85 libreoffice-testing-3.2.99.2.tar.bz2 +15b0c3b5d99335f2a6e034841918e8fe libreoffice-ure-3.2.99.2.tar.bz2 +31909d2508ae56ff971a871fc7404c87 libreoffice-writer-3.2.99.2.tar.bz2 diff --git a/workspace.cmcfixes77.patch b/workspace.cmcfixes77.patch deleted file mode 100644 index abac5d9..0000000 --- a/workspace.cmcfixes77.patch +++ /dev/null @@ -1,1378 +0,0 @@ -diff -r 85e7cfbbb08a configure.in ---- a/configure.in Tue Jun 29 15:31:44 2010 +0200 -+++ b/configure.in Tue Jul 20 09:57:11 2010 +0100 -@@ -546,6 +546,12 @@ - AC_ARG_WITH(system-lpsolve, - [ --with-system-lpsolve Use lpsolve already on system - ],,) -+AC_ARG_WITH(system-libtextcat, -+[ --with-system-libtextcat Use libtextcat already on system -+],,) -+AC_ARG_WITH(system-libtextcat-data, -+[ --with-system-libtextcat-data Use libtextcat data already on system -+],,) - AC_ARG_WITH(system-cppunit, - [ --with-system-cppunit Use cppunit already on system - ],,) -@@ -5142,6 +5148,38 @@ - fi - AC_SUBST(SYSTEM_LPSOLVE) - -+dnl =================================================================== -+dnl Checking for libtextcat -+dnl =================================================================== -+AC_MSG_CHECKING([which libtextcat to use]) -+if test -n "$with_system_libtextcat" && test "$with_system_libtextcat" != "no"; then -+ AC_MSG_RESULT([external]) -+ SYSTEM_LIBTEXTCAT=YES -+ AC_CHECK_HEADER(libtextcat/textcat.h, [], -+ [ AC_MSG_ERROR(libtextcat headers not found.)], []) -+ AC_CHECK_LIB(textcat, special_textcat_Init, , -+ [ AC_MSG_ERROR(libtextcat library not found or not suitable. libtextcat typically needs to be patched)], []) -+else -+ AC_MSG_RESULT([internal]) -+ SYSTEM_LIBTEXTCAT=NO -+ BUILD_TYPE="$BUILD_TYPE LIBTEXTCAT" -+fi -+AC_SUBST(SYSTEM_LIBTEXTCAT) -+ -+AC_MSG_CHECKING([which libtextcat data directory to use]) -+if test -n "$with_system_libtextcat_data" && test "$with_system_libtextcat_data" != "no"; then -+ if test "$with_system_libtextcat_data" = "yes"; then -+ SYSTEM_LIBTEXTCAT_DATA=file:///usr/share/libtextcat -+ else -+ SYSTEM_LIBTEXTCAT_DATA=file://$with_system_libtextcat_data -+ fi -+ AC_MSG_RESULT([$SYSTEM_LIBTEXTCAT_DATA]) -+else -+ AC_MSG_RESULT([internal]) -+ BUILD_TYPE="$BUILD_TYPE LIBTEXTCATDATA" -+fi -+AC_SUBST(SYSTEM_LIBTEXTCAT_DATA) -+ - dnl *************************************** - dnl testing libc version for Linux... - dnl *************************************** -@@ -6504,6 +6542,7 @@ - AC_MSG_CHECKING([whether to include AFMs]) - if test "$with_afms" != "no"; then - AC_MSG_RESULT([yes]) -+ BUILD_TYPE="$BUILD_TYPE AFMS" - else - AC_MSG_RESULT([no]) - WITHOUT_AFMS=YES -diff -r 85e7cfbbb08a libtextcat/makefile.mk ---- a/libtextcat/makefile.mk Tue Jun 29 15:31:44 2010 +0200 -+++ b/libtextcat/makefile.mk Tue Jul 20 09:57:11 2010 +0100 -@@ -30,6 +30,12 @@ - PRJNAME=libtextcat - TARGET=libtextcat - -+.IF "$(SYSTEM_LIBTEXTCAT)" == "YES" -+all: -+ @echo "An already available installation of libtextcat should exist on your system." -+ @echo "Therefore the version provided here does not need to be built in addition." -+.ENDIF -+ - # --- Settings ----------------------------------------------------- - - .INCLUDE : settings.mk -diff -r 85e7cfbbb08a lingucomponent/prj/build.lst ---- a/lingucomponent/prj/build.lst Tue Jun 29 15:31:44 2010 +0200 -+++ b/lingucomponent/prj/build.lst Tue Jul 20 09:57:11 2010 +0100 -@@ -1,4 +1,4 @@ --lc lingucomponent : linguistic libtextcat svl HYPHEN:hyphen HUNSPELL:hunspell MYTHES:mythes NULL -+lc lingucomponent : linguistic LIBTEXTCAT:libtextcat LIBTEXTCATDATA:libtextcat svl HYPHEN:hyphen HUNSPELL:hunspell MYTHES:mythes NULL - lc lingucomponent usr1 - all lc_mkout NULL - lc lingucomponent\inc nmake - all lc_inc NULL - lc lingucomponent\source\lingutil nmake - all lc_util lc_inc NULL -diff -r 85e7cfbbb08a officecfg/registry/data/org/openoffice/Office/Paths.xcu ---- a/officecfg/registry/data/org/openoffice/Office/Paths.xcu Tue Jun 29 15:31:44 2010 +0200 -+++ b/officecfg/registry/data/org/openoffice/Office/Paths.xcu Tue Jul 20 09:57:11 2010 +0100 -@@ -169,7 +169,8 @@ - - - -- -+ -+ - - - -diff -r 85e7cfbbb08a officecfg/registry/data/org/openoffice/Office/makefile.mk ---- a/officecfg/registry/data/org/openoffice/Office/makefile.mk Tue Jun 29 15:31:44 2010 +0200 -+++ b/officecfg/registry/data/org/openoffice/Office/makefile.mk Tue Jul 20 09:57:11 2010 +0100 -@@ -87,6 +87,8 @@ - Paths-macosx.xcu \ - Paths-unxwnt.xcu \ - Paths-unixdesktop.xcu \ -+ Paths-internallibtextcatdata.xcu \ -+ Paths-externallibtextcatdata.xcu \ - Writer-cjk.xcu \ - Impress-ogltrans.xcu \ - Embedding-calc.xcu \ -diff -r 85e7cfbbb08a postprocess/packregistry/makefile.mk ---- a/postprocess/packregistry/makefile.mk Tue Jun 29 15:31:44 2010 +0200 -+++ b/postprocess/packregistry/makefile.mk Tue Jul 20 09:57:11 2010 +0100 -@@ -343,6 +343,11 @@ - MY_FILES_main += $(MY_MOD)/DataAccess/mozab2.xcu - .END - .END -+.IF "$(SYSTEM_LIBTEXTCAT_DATA)" != "" -+MY_FILES_main += $(MY_MOD)/org/openoffice/Office/Paths-externallibtextcatdata.xcu -+.ELSE -+MY_FILES_main += $(MY_MOD)/org/openoffice/Office/Paths-internallibtextcatdata.xcu -+.END - - MY_DEPS_math = main - MY_FILES_math = \ -diff -r 85e7cfbbb08a psprint_config/prj/build.lst ---- a/psprint_config/prj/build.lst Tue Jun 29 15:31:44 2010 +0200 -+++ b/psprint_config/prj/build.lst Tue Jul 20 09:57:11 2010 +0100 -@@ -1,4 +1,4 @@ --pc psprint_config : soltools afms NULL -+pc psprint_config : soltools AFMS:afms NULL - pc psprint_config usr1 - all pc_mkout NULL - pc psprint_config\configuration nmake - u pc_conf NULL - pc psprint_config\configuration\ppds nmake - u pc_ppds NULL -diff -r 85e7cfbbb08a scp2/source/ooo/file_library_ooo.scp ---- a/scp2/source/ooo/file_library_ooo.scp Tue Jun 29 15:31:44 2010 +0200 -+++ b/scp2/source/ooo/file_library_ooo.scp Tue Jul 20 09:57:11 2010 +0100 -@@ -1669,6 +1669,7 @@ - #endif - End - -+#ifndef SYSTEM_LIBTEXTCAT - File gid_File_Lib_Libtextcat - TXT_FILE_BODY; - Styles = (PACKED); -@@ -1679,6 +1680,7 @@ - Name = "libtextcat.dll"; - #endif - End -+#endif - - STD_UNO_LIB_FILE( gid_File_Lib_Guesslang, guesslang ) - -diff -r 85e7cfbbb08a scp2/source/ooo/file_ooo.scp ---- a/scp2/source/ooo/file_ooo.scp Tue Jun 29 15:31:44 2010 +0200 -+++ b/scp2/source/ooo/file_ooo.scp Tue Jul 20 09:57:11 2010 +0100 -@@ -523,6 +523,7 @@ - #endif - #endif - -+#ifndef SYSTEM_LIBTEXTCAT_DATA - // fingerprint files (lm) - - File gid_File_Conf_Fpdb -@@ -1036,7 +1037,7 @@ - Dir = gid_Dir_Share_Fingerprint; - Styles = (PACKED); - End -- -+#endif - - - // mod files -diff -r 85e7cfbbb08a scp2/source/ooo/makefile.mk ---- a/scp2/source/ooo/makefile.mk Tue Jun 29 15:31:44 2010 +0200 -+++ b/scp2/source/ooo/makefile.mk Tue Jul 20 09:57:11 2010 +0100 -@@ -233,6 +233,14 @@ - SCPDEFS+=-DSYSTEM_PYTHON - .ENDIF - -+.IF "$(SYSTEM_LIBTEXTCAT)" == "YES" -+SCPDEFS+=-DSYSTEM_LIBTEXTCAT -+.ENDIF -+ -+.IF "$(SYSTEM_LIBTEXTCAT_DATA)" != "" -+SCPDEFS+=-DSYSTEM_LIBTEXTCAT_DATA -+.ENDIF -+ - .IF "$(ENABLE_SVCTAGS)" == "YES" - SCPDEFS+=-DENABLE_SVCTAGS - .ENDIF -diff -r 85e7cfbbb08a set_soenv.in ---- a/set_soenv.in Tue Jun 29 15:31:44 2010 +0200 -+++ b/set_soenv.in Tue Jul 20 09:57:11 2010 +0100 -@@ -1926,6 +1926,8 @@ - ToFile( "SYSTEM_MYTHES", "@SYSTEM_MYTHES@", "e" ); - ToFile( "MYTHES_CFLAGS", "@MYTHES_CFLAGS@", "e" ); - ToFile( "MYTHES_LIBS", "@MYTHES_LIBS@", "e" ); -+ToFile( "SYSTEM_LIBTEXTCAT", "@SYSTEM_LIBTEXTCAT@","e" ); -+ToFile( "SYSTEM_LIBTEXTCAT_DATA","@SYSTEM_LIBTEXTCAT_DATA@","e" ); - ToFile( "PAM", "@PAM@", "e" ); - ToFile( "NEW_SHADOW_API", "@NEW_SHADOW_API@", "e" ); - ToFile( "PAM_LINK", "@PAM_LINK@", "e" ); -diff -r 85e7cfbbb08a solenv/bin/modules/installer/ziplist.pm ---- a/solenv/bin/modules/installer/ziplist.pm Tue Jun 29 15:31:44 2010 +0200 -+++ b/solenv/bin/modules/installer/ziplist.pm Tue Jul 20 09:57:11 2010 +0100 -@@ -806,6 +806,7 @@ - $variableshashref->{'PRODUCTMINOR'} = $localminor; - - $variableshashref->{'PRODUCTBUILDID'} = $installer::globals::buildid; -+ $variableshashref->{'SYSTEM_LIBTEXTCAT_DATA'} = $ENV{'SYSTEM_LIBTEXTCAT_DATA'} , if( defined $ENV{'SYSTEM_LIBTEXTCAT_DATA'} && $ENV{'SYSTEM_LIBTEXTCAT_DATA'} ne "" ); - } - - 1; -diff -r 85e7cfbbb08a solenv/config/sooo330.ini ---- a/solenv/config/sooo330.ini Tue Jun 29 15:31:44 2010 +0200 -+++ b/solenv/config/sooo330.ini Tue Jul 20 09:57:11 2010 +0100 -@@ -9,7 +9,7 @@ - BMP_WRITES_FLAG TRUE - BUILD_SPECIAL TRUE - BUILD_STAX YES -- BUILD_TYPE SO OOo EXT BINFILTER MORE_FONTS BSH CURL DICTIONARIES HSQLDB HUNSPELL HYPHEN MYTHES JPEG LIBXML2 LIBXMLSEC LPSOLVE MOZ NEON TWAIN PYTHON ZLIB SANE UNIXODBC X11_EXTENSIONS LIBWPD EPM ODK MSFONTEXTRACT MATHMLDTD BOOST MDDS EXPAT CRASHREP BERKELEYDB LIBXSLT SUN AGG GTK ICU SYSTRAY_GTK JAVAINSTALLER2 VIGRA OPENSSL JFREEREPORT APACHE_COMMONS TOMCAT REPORTBUILDER SDEXT SWEXT XPDF LUCENE REDLAND SAXON WRITER2LATEX NSS L10N GRAPHITE MYSQLCPPCONN MYSQLC CPPUNIT -+ BUILD_TYPE SO OOo EXT BINFILTER MORE_FONTS BSH CURL DICTIONARIES HSQLDB HUNSPELL HYPHEN MYTHES JPEG LIBXML2 LIBXMLSEC LPSOLVE MOZ NEON TWAIN PYTHON ZLIB SANE UNIXODBC X11_EXTENSIONS LIBWPD EPM ODK MSFONTEXTRACT MATHMLDTD BOOST MDDS EXPAT CRASHREP BERKELEYDB LIBXSLT SUN AGG GTK ICU SYSTRAY_GTK JAVAINSTALLER2 VIGRA OPENSSL JFREEREPORT APACHE_COMMONS TOMCAT REPORTBUILDER SDEXT SWEXT XPDF LUCENE REDLAND SAXON WRITER2LATEX NSS L10N GRAPHITE MYSQLCPPCONN MYSQLC CPPUNIT LIBTEXTCAT LIBTEXTCATDATA AFMS - common_build TRUE - COMMON_OUTDIR common - CONFIG_PROJECT config_office ---- a/configure.in 2010-07-07 12:32:33.000000000 +0100 -+++ b/configure.in 2010-07-07 12:33:27.000000000 +0100 -@@ -3853,7 +3856,11 @@ - [ - AC_CHECK_FILE(/usr/share/java/lucene-core.jar, - [ LUCENE_CORE_JAR=/usr/share/java/lucene-core.jar ], -- [ AC_MSG_ERROR(lucene-core.jar replacement not found)] -+ [ AC_CHECK_FILE(/usr/share/java/lucene.jar, -+ [ LUCENE_CORE_JAR=/usr/share/java/lucene.jar ], -+ [ AC_MSG_ERROR(lucene-core.jar replacement not found)] -+ ) -+ ] - ) - ] - ) -@@ -3876,22 +3883,6 @@ - AC_CHECK_FILE($LUCENE_CORE_JAR, [], - [ AC_MSG_ERROR(lucene-analyzers.jar not found.)], []) - fi -- AC_MSG_CHECKING([whether lucene is version 2.x]) -- export LUCENE_CORE_JAR -- if $PERL -e 'use Archive::Zip; -- my $file = "$ENV{'LUCENE_CORE_JAR'}"; -- my $zip = Archive::Zip->new( $file ); -- my $mf = $zip->contents ( "META-INF/MANIFEST.MF" ); -- if ( $mf =~ m/Specification-Version: 2.*/ ) { -- exit 0; -- } else { -- exit 1; -- }'; then -- AC_MSG_RESULT([yes]) -- else -- AC_MSG_ERROR([no, you need lucene 2]) -- fi -- - else - AC_MSG_RESULT([internal]) - SYSTEM_LUCENE=NO ---- a/svtools/source/config/menuoptions.cxx 2010-07-30 12:52:42.000000000 +0100 -+++ b/svtools/source/config/menuoptions.cxx 2010-07-30 12:52:53.000000000 +0100 -@@ -245,8 +245,15 @@ - // Follow assignment use order of values in relation to our list of key names! - DBG_ASSERT( !(seqNames.getLength()!=seqValues.getLength()), "SvtMenuOptions_Impl::SvtMenuOptions_Impl()\nI miss some values of configuration keys!\n" ); - -- sal_Bool bMenuIcons = true; -- sal_Bool bSystemMenuIcons = true; -+ sal_Bool bMenuIcons = sal_True; -+ sal_Bool bSystemMenuIcons = sal_True; -+ if (m_nMenuIcons == 2) -+ bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetUseImagesInMenus()); -+ else -+ { -+ bSystemMenuIcons = sal_False; -+ bMenuIcons = m_nMenuIcons ? sal_True : sal_False; -+ } - - // Copy values from list in right order to ouer internal member. - sal_Int32 nPropertyCount = seqValues.getLength() ; -diff -r a1a3b75faa8a basebmp/test/basictest.cxx ---- a/basebmp/test/basictest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/basictest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,10 +27,12 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" - #include "cppunit/plugin/TestPlugIn.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basebmp/test/bmpmasktest.cxx ---- a/basebmp/test/bmpmasktest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/bmpmasktest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,9 +27,11 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basebmp/test/bmptest.cxx ---- a/basebmp/test/bmptest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/bmptest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,9 +27,11 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basebmp/test/cliptest.cxx ---- a/basebmp/test/cliptest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/cliptest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,9 +27,11 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basebmp/test/filltest.cxx ---- a/basebmp/test/filltest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/filltest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,9 +27,11 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basebmp/test/linetest.cxx ---- a/basebmp/test/linetest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/linetest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,9 +27,11 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basebmp/test/makefile.mk ---- a/basebmp/test/makefile.mk Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/makefile.mk Fri Jul 30 13:40:34 2010 +0100 -@@ -60,6 +60,13 @@ - .ENDIF - .ENDIF - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - CFLAGSCXX += $(CPPUNIT_CFLAGS) - - # --- Common ---------------------------------------------------------- -diff -r a1a3b75faa8a basebmp/test/masktest.cxx ---- a/basebmp/test/masktest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/masktest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,9 +27,11 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basebmp/test/polytest.cxx ---- a/basebmp/test/polytest.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basebmp/test/polytest.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,9 +27,11 @@ - - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basegfx/test/basegfx1d.cxx ---- a/basegfx/test/basegfx1d.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/basegfx1d.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -30,10 +30,12 @@ - #include "precompiled_basegfx.hxx" - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" - #include "cppunit/plugin/TestPlugIn.h" -+#include "postextstl.h" - - namespace basegfx1d - { -diff -r a1a3b75faa8a basegfx/test/basegfx2d.cxx ---- a/basegfx/test/basegfx2d.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/basegfx2d.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -30,9 +30,11 @@ - #include "precompiled_basegfx.hxx" - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basegfx/test/basegfx3d.cxx ---- a/basegfx/test/basegfx3d.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/basegfx3d.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -30,9 +30,11 @@ - #include "precompiled_basegfx.hxx" - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - namespace basegfx3d - { -diff -r a1a3b75faa8a basegfx/test/basegfxtools.cxx ---- a/basegfx/test/basegfxtools.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/basegfxtools.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -30,9 +30,11 @@ - #include "precompiled_basegfx.hxx" - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basegfx/test/boxclipper.cxx ---- a/basegfx/test/boxclipper.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/boxclipper.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -30,9 +30,11 @@ - #include "precompiled_basegfx.hxx" - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basegfx/test/clipstate.cxx ---- a/basegfx/test/clipstate.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/clipstate.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -30,9 +30,11 @@ - #include "precompiled_basegfx.hxx" - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basegfx/test/genericclipper.cxx ---- a/basegfx/test/genericclipper.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/genericclipper.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -30,9 +30,11 @@ - #include "precompiled_basegfx.hxx" - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a basegfx/test/makefile.mk ---- a/basegfx/test/makefile.mk Fri Jul 30 12:58:40 2010 +0100 -+++ b/basegfx/test/makefile.mk Fri Jul 30 13:40:34 2010 +0100 -@@ -36,6 +36,13 @@ - - .INCLUDE : settings.mk - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - CFLAGSCXX += $(CPPUNIT_CFLAGS) - - # --- Common ---------------------------------------------------------- -diff -r a1a3b75faa8a configure.in ---- a/configure.in Fri Jul 30 12:58:40 2010 +0100 -+++ b/configure.in Fri Jul 30 13:40:34 2010 +0100 -@@ -3613,12 +3613,6 @@ - # a system-cppunit before the first version using a proper cppunit - # (and that being 1.12.1) anyway - PKG_CHECK_MODULES( CPPUNIT, cppunit >= 1.12.1 ) -- AC_MSG_CHECKING([STL compatibility]) -- if test "$WITH_STLPORT" != "no"; then -- AC_MSG_ERROR([to use system cppunit you need to use --without-stlport]) -- else -- AC_MSG_RESULT([OK]) -- fi - else - AC_MSG_RESULT([internal]) - SYSTEM_CPPUNIT=NO -diff -r a1a3b75faa8a mysqlc/source/mysqlc_connection.cxx ---- a/mysqlc/source/mysqlc_connection.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_connection.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -35,13 +35,13 @@ - #include "mysqlc_preparedstatement.hxx" - #include "mysqlc_general.hxx" - --#include -+#include - #include - #include - #include - #include - #include --#include -+#include - - #include - #include -diff -r a1a3b75faa8a mysqlc/source/mysqlc_connection.hxx ---- a/mysqlc/source/mysqlc_connection.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_connection.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -46,9 +46,9 @@ - #include - #include - --#include -+#include - #include --#include -+#include - #include - #include - #include -diff -r a1a3b75faa8a mysqlc/source/mysqlc_databasemetadata.cxx ---- a/mysqlc/source/mysqlc_databasemetadata.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_databasemetadata.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -54,13 +54,13 @@ - using ::rtl::OUString; - using mysqlc_sdbc_driver::getStringFromAny; - --#include -+#include - #include - #include - #include - #include - #include --#include -+#include - - static ext_std::string wild("%"); - -diff -r a1a3b75faa8a mysqlc/source/mysqlc_databasemetadata.hxx ---- a/mysqlc/source/mysqlc_databasemetadata.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_databasemetadata.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -39,9 +39,9 @@ - #include - #endif - --#include -+#include - #include --#include -+#include - - namespace connectivity - { -diff -r a1a3b75faa8a mysqlc/source/mysqlc_driver.cxx ---- a/mysqlc/source/mysqlc_driver.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_driver.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -38,13 +38,12 @@ - using ::rtl::OUString; - #include - --#include -+#include - #include -- - #ifdef SYSTEM_MYSQL_CPPCONN - #include - #endif --#include -+#include - - - /* {{{ MysqlCDriver::MysqlCDriver() -I- */ -diff -r a1a3b75faa8a mysqlc/source/mysqlc_driver.hxx ---- a/mysqlc/source/mysqlc_driver.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_driver.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -36,9 +36,9 @@ - #include - - #include --#include -+#include - #include --#include -+#include - #include - - namespace connectivity -diff -r a1a3b75faa8a mysqlc/source/mysqlc_general.hxx ---- a/mysqlc/source/mysqlc_general.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_general.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -33,9 +33,9 @@ - #include - #include - --#include -+#include - #include --#include -+#include - - namespace mysqlc_sdbc_driver - { -diff -r a1a3b75faa8a mysqlc/source/mysqlc_preparedstatement.hxx ---- a/mysqlc/source/mysqlc_preparedstatement.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_preparedstatement.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -48,9 +48,9 @@ - #include - #endif - --#include -+#include - #include --#include -+#include - - namespace connectivity - { -diff -r a1a3b75faa8a mysqlc/source/mysqlc_resultsetmetadata.hxx ---- a/mysqlc/source/mysqlc_resultsetmetadata.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_resultsetmetadata.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -35,9 +35,9 @@ - #include - - #include --#include -+#include - #include --#include -+#include - - namespace connectivity - { -diff -r a1a3b75faa8a mysqlc/source/mysqlc_statement.hxx ---- a/mysqlc/source/mysqlc_statement.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/mysqlc/source/mysqlc_statement.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -13,9 +13,9 @@ - #include - #include - --#include -+#include - #include --#include -+#include - #include - #include - -diff -r a1a3b75faa8a o3tl/qa/makefile.mk ---- a/o3tl/qa/makefile.mk Fri Jul 30 12:58:40 2010 +0100 -+++ b/o3tl/qa/makefile.mk Fri Jul 30 13:40:34 2010 +0100 -@@ -36,6 +36,13 @@ - - .INCLUDE : settings.mk - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - CFLAGSCXX += $(CPPUNIT_CFLAGS) - - .IF "$(L10N_framework)"=="" -diff -r a1a3b75faa8a o3tl/qa/test-cow_wrapper.cxx ---- a/o3tl/qa/test-cow_wrapper.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/o3tl/qa/test-cow_wrapper.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -1,9 +1,11 @@ - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" - #include "cppunit/plugin/TestPlugIn.h" -+#include "postextstl.h" - - #include "cow_wrapper_clients.hxx" - -diff -r a1a3b75faa8a o3tl/qa/test-heap_ptr.cxx ---- a/o3tl/qa/test-heap_ptr.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/o3tl/qa/test-heap_ptr.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -25,9 +25,11 @@ - * - ************************************************************************/ - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - -diff -r a1a3b75faa8a o3tl/qa/test-range.cxx ---- a/o3tl/qa/test-range.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/o3tl/qa/test-range.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -25,9 +25,11 @@ - * - ************************************************************************/ - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - #include -diff -r a1a3b75faa8a o3tl/qa/test-vector_pool.cxx ---- a/o3tl/qa/test-vector_pool.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/o3tl/qa/test-vector_pool.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -1,8 +1,10 @@ - // autogenerated file with codegen.pl - -+#include "preextstl.h" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" -+#include "postextstl.h" - - #include - -diff -r a1a3b75faa8a sal/cppunittester/cppunittester.cxx ---- a/sal/cppunittester/cppunittester.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/sal/cppunittester/cppunittester.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -31,6 +31,7 @@ - #include - #include - -+#include "preextstl.h" - #include "cppunit/CompilerOutputter.h" - #include "cppunit/TestResult.h" - #include "cppunit/TestResultCollector.h" -@@ -38,6 +39,7 @@ - #include "cppunit/extensions/TestFactoryRegistry.h" - #include "cppunit/plugin/PlugInManager.h" - #include "cppunit/portability/Stream.h" -+#include "postextstl.h" - #include "osl/thread.h" - #include "rtl/process.h" - #include "rtl/string.hxx" -diff -r a1a3b75faa8a sal/cppunittester/makefile.mk ---- a/sal/cppunittester/makefile.mk Fri Jul 30 12:58:40 2010 +0100 -+++ b/sal/cppunittester/makefile.mk Fri Jul 30 13:40:34 2010 +0100 -@@ -33,6 +33,13 @@ - - .INCLUDE: settings.mk - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - CFLAGSCXX += $(CPPUNIT_CFLAGS) - - OBJFILES = $(APP1OBJS) -diff -r a1a3b75faa8a sax/qa/cppunit/makefile.mk ---- a/sax/qa/cppunit/makefile.mk Fri Jul 30 12:58:40 2010 +0100 -+++ b/sax/qa/cppunit/makefile.mk Fri Jul 30 13:40:34 2010 +0100 -@@ -35,6 +35,13 @@ - - .INCLUDE : settings.mk - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - CFLAGSCXX += $(CPPUNIT_CFLAGS) - DLLPRE = # no leading "lib" on .so files - -diff -r a1a3b75faa8a sax/qa/cppunit/test_converter.cxx ---- a/sax/qa/cppunit/test_converter.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/sax/qa/cppunit/test_converter.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -25,10 +25,12 @@ - * - ************************************************************************/ - -+#include "preextstl.h" - #include - #include - #include - #include -+#include "postextstl.h" - - #include - -diff -r a1a3b75faa8a sfx2/qa/cppunit/makefile.mk ---- a/sfx2/qa/cppunit/makefile.mk Fri Jul 30 12:58:40 2010 +0100 -+++ b/sfx2/qa/cppunit/makefile.mk Fri Jul 30 13:40:34 2010 +0100 -@@ -35,6 +35,13 @@ - - .INCLUDE : settings.mk - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - CFLAGSCXX += $(CPPUNIT_CFLAGS) - DLLPRE = # no leading "lib" on .so files - -diff -r a1a3b75faa8a sfx2/qa/cppunit/test_metadatable.cxx ---- a/sfx2/qa/cppunit/test_metadatable.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/sfx2/qa/cppunit/test_metadatable.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -27,10 +27,12 @@ - - #include "precompiled_sfx2.hxx" - -+#include "preextstl.h" - #include - #include - #include - #include -+#include "postextstl.h" - - #include - -diff -r a1a3b75faa8a stlport/prj/d.lst ---- a/stlport/prj/d.lst Fri Jul 30 12:58:40 2010 +0100 -+++ b/stlport/prj/d.lst Fri Jul 30 13:40:34 2010 +0100 -@@ -17,6 +17,7 @@ - ..\%__SRC%\inc\stlport\using\h\* %_DEST%\inc%_EXT%\stl\using\h\* - ..\%__SRC%\inc\stlport\wrap_std\* %_DEST%\inc%_EXT%\stl\wrap_std\* - ..\%__SRC%\inc\stlport\wrap_std\h\* %_DEST%\inc%_EXT%\stl\wrap_std\h\* -+..\systemstlguards\*.h %_DEST%\inc%_EXT%\stl\*.h - ..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so - ..\%__SRC%\lib\lib*.a %_DEST%\lib%_EXT%\lib*.a - ..\%__SRC%\lib\*.lib %_DEST%\lib%_EXT%\*.lib -diff -r a1a3b75faa8a tools/inc/tools/postextstl.h ---- a/tools/inc/tools/postextstl.h Fri Jul 30 12:58:40 2010 +0100 -+++ /dev/null Thu Jan 01 00:00:00 1970 +0000 -@@ -1,36 +0,0 @@ --/************************************************************************* -- * -- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -- * -- * Copyright 2000, 2010 Oracle and/or its affiliates. -- * -- * OpenOffice.org - a multi-platform office productivity suite -- * -- * This file is part of OpenOffice.org. -- * -- * OpenOffice.org is free software: you can redistribute it and/or modify -- * it under the terms of the GNU Lesser General Public License version 3 -- * only, as published by the Free Software Foundation. -- * -- * OpenOffice.org is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU Lesser General Public License version 3 for more details -- * (a copy is included in the LICENSE file that accompanied this code). -- * -- * You should have received a copy of the GNU Lesser General Public License -- * version 3 along with OpenOffice.org. If not, see -- * -- * for a copy of the LGPLv3 License. -- * -- ************************************************************************/ -- --#ifdef std_was_redefined_as_stlport --// put things back the way they were --# define std std_was_redefined_as_stlport --# undef _STLP_OUTERMOST_HEADER_ID --// force config to be re-read --# undef _STLP_NOTHROW_INHERENTLY --# undef _STLP_CONFIG_H --# include --#endif -diff -r a1a3b75faa8a tools/inc/tools/preextstl.h ---- a/tools/inc/tools/preextstl.h Fri Jul 30 12:58:40 2010 +0100 -+++ /dev/null Thu Jan 01 00:00:00 1970 +0000 -@@ -1,71 +0,0 @@ --/************************************************************************* -- * -- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -- * -- * Copyright 2000, 2010 Oracle and/or its affiliates. -- * -- * OpenOffice.org - a multi-platform office productivity suite -- * -- * This file is part of OpenOffice.org. -- * -- * OpenOffice.org is free software: you can redistribute it and/or modify -- * it under the terms of the GNU Lesser General Public License version 3 -- * only, as published by the Free Software Foundation. -- * -- * OpenOffice.org is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU Lesser General Public License version 3 for more details -- * (a copy is included in the LICENSE file that accompanied this code). -- * -- * You should have received a copy of the GNU Lesser General Public License -- * version 3 along with OpenOffice.org. If not, see -- * -- * for a copy of the LGPLv3 License. -- * -- ************************************************************************/ --//1. Force inclusion of a std:: using header to ensure the stlport define --//of std as "stlport" --#include --#if defined(ADAPT_EXT_STL) --//2. Force inclusion of stlport headers to get their stlport:: definitions --# include --# include --# include --# include --# include --# include --# include --//3. Now force inclusion of native headers to get their std:: definitions --# if defined(std) --# define std_was_redefined_as_stlport std --# undef std --# define _STLP_OUTERMOST_HEADER_ID 0xdeadbeaf --# if defined(_GNUC__) --# pragma GCC visibility push(default) --# endif --# include _STLP_NATIVE_HEADER(exception_defines.h) --# include _STLP_NATIVE_HEADER(limits) --# include _STLP_NATIVE_HEADER(memory) --# include _STLP_NATIVE_HEADER(exception) --# include _STLP_NATIVE_HEADER(iosfwd) --# include _STLP_NATIVE_HEADER(algorithm) --# include _STLP_NATIVE_HEADER(string) --# include _STLP_NATIVE_HEADER(streambuf) --# include _STLP_NATIVE_HEADER(ios) --# include _STLP_NATIVE_HEADER(locale) --# include _STLP_NATIVE_HEADER(stdexcept) --# include _STLP_NATIVE_HEADER(ostream) --# include _STLP_NATIVE_HEADER(istream) --# include _STLP_NATIVE_HEADER(iostream) --# include _STLP_NATIVE_HEADER(vector) --# include _STLP_NATIVE_HEADER(list) --# include _STLP_NATIVE_HEADER(map) --# if defined(_GNUC__) --# pragma GCC visibility pop --# endif --# endif --#endif --//ext_std resolves to the std that external c++ libs, e.g. Graphite were built --//against regardless of whether that is stlport or system stl --namespace ext_std = std; -diff -r a1a3b75faa8a tools/prj/d.lst ---- a/tools/prj/d.lst Fri Jul 30 12:58:40 2010 +0100 -+++ b/tools/prj/d.lst Fri Jul 30 13:40:34 2010 +0100 -@@ -34,9 +34,6 @@ - ..\inc\tools\postx.h %_DEST%\inc%_EXT%\tools\postx.h - ..\inc\tools\prex.h %_DEST%\inc%_EXT%\tools\prex.h - --..\inc\tools\postextstl.h %_DEST%\inc%_EXT%\tools\postextstl.h --..\inc\tools\preextstl.h %_DEST%\inc%_EXT%\tools\preextstl.h -- - ..\inc\tools\svlibrary.hxx %_DEST%\inc%_EXT%\tools\svlibrary.hxx - ..\inc\tools\solarmutex.hxx %_DEST%\inc%_EXT%\tools\solarmutex.hxx - ..\inc\tools\wintypes.hxx %_DEST%\inc%_EXT%\tools\wintypes.hxx -diff -r a1a3b75faa8a vcl/inc/vcl/graphite_adaptors.hxx ---- a/vcl/inc/vcl/graphite_adaptors.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/vcl/inc/vcl/graphite_adaptors.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -55,11 +55,11 @@ - #include "vcl/dllapi.h" - - // Libraries --#include -+#include - #include - #include - #include --#include -+#include - - // Module type definitions and forward declarations. - // -diff -r a1a3b75faa8a vcl/inc/vcl/graphite_features.hxx ---- a/vcl/inc/vcl/graphite_features.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/vcl/inc/vcl/graphite_features.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -29,11 +29,11 @@ - // Parse a string of features specified as ; separated pairs. - // e.g. - // 1001=1&2002=2&fav1=0 --#include -+#include - #include - #include - #include --#include -+#include - - namespace grutils - { -diff -r a1a3b75faa8a vcl/inc/vcl/graphite_layout.hxx ---- a/vcl/inc/vcl/graphite_layout.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/vcl/inc/vcl/graphite_layout.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -40,13 +40,13 @@ - #include - #include - // Libraries --#include -+#include - #include - #include - #include - #include - #include --#include -+#include - // Platform - #include - #include -diff -r a1a3b75faa8a vcl/source/glyphs/graphite_cache.cxx ---- a/vcl/source/glyphs/graphite_cache.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/vcl/source/glyphs/graphite_cache.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -36,10 +36,10 @@ - #include - #include - --#include -+#include - #include - #include --#include -+#include - - #include - #include -diff -r a1a3b75faa8a vcl/source/glyphs/graphite_layout.cxx ---- a/vcl/source/glyphs/graphite_layout.cxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/vcl/source/glyphs/graphite_layout.cxx Fri Jul 30 13:40:34 2010 +0100 -@@ -63,13 +63,13 @@ - #include - - // Graphite Libraries (must be after vcl headers on windows) --#include -+#include - #include - #include - #include - #include - #include --#include -+#include - - #include - #include -diff -r a1a3b75faa8a vcl/source/glyphs/graphite_textsrc.hxx ---- a/vcl/source/glyphs/graphite_textsrc.hxx Fri Jul 30 12:58:40 2010 +0100 -+++ b/vcl/source/glyphs/graphite_textsrc.hxx Fri Jul 30 13:40:34 2010 +0100 -@@ -59,11 +59,11 @@ - #include "vcl/dllapi.h" - - // Libraries --#include -+#include - #include - #include - #include --#include -+#include - - // Module type definitions and forward declarations. - // -diff -r a1a3b75faa8a vcl/util/makefile2.pmk ---- a/vcl/util/makefile2.pmk Fri Jul 30 12:58:40 2010 +0100 -+++ b/vcl/util/makefile2.pmk Fri Jul 30 13:40:34 2010 +0100 -@@ -36,6 +36,6 @@ - #building with stlport, but graphite was not built with stlport - .IF "$(USE_SYSTEM_STL)"!="YES" - .IF "$(SYSTEM_GRAPHITE)"=="YES" --CDEFS += -DADAPT_EXT_STL -+CFLAGSCXX+=-DADAPT_EXT_STL - .ENDIF - .ENDIF ---- a/test/source/cpp/officeconnection.cxx 2010-07-31 15:23:28.000000000 +0100 -+++ b/test/source/cpp/officeconnection.cxx 2010-07-31 15:24:37.000000000 +0100 -@@ -33,7 +33,9 @@ - #include "com/sun/star/lang/XMultiServiceFactory.hpp" - #include "com/sun/star/uno/Reference.hxx" - #include "cppuhelper/bootstrap.hxx" -+#include - #include "cppunit/TestAssert.h" -+#include - #include "osl/process.h" - #include "osl/time.h" - #include "sal/types.h" ---- a/test/source/cpp/makefile.mk 2010-07-31 15:27:19.000000000 +0100 -+++ b/test/source/cpp/makefile.mk 2010-07-31 15:23:28.000000000 +0100 -@@ -35,6 +35,13 @@ - CDEFS += -DOOO_DLLIMPLEMENTATION_TEST - CFLAGSCXX += $(CPPUNIT_CFLAGS) - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - SLOFILES = \ - $(SLO)/getargument.obj \ - $(SLO)/officeconnection.obj \ ---- a/smoketestoo_native/makefile.mk 2010-07-31 19:54:31.000000000 +0100 -+++ b/smoketestoo_native/makefile.mk 2010-07-31 20:03:00.000000000 +0100 -@@ -33,6 +33,13 @@ - - CFLAGSCXX += $(CPPUNIT_CFLAGS) - -+#building with stlport, but cppunit was not built with stlport -+.IF "$(USE_SYSTEM_STL)"!="YES" -+.IF "$(SYSTEM_CPPUNIT)"=="YES" -+CFLAGSCXX+=-DADAPT_EXT_STL -+.ENDIF -+.ENDIF -+ - SLOFILES = $(SHL1OBJS) - - SHL1TARGET = smoketest ---- a/smoketestoo_native/smoketest.cxx 2010-07-31 19:54:32.000000000 +0100 -+++ b/smoketestoo_native/smoketest.cxx 2010-07-31 19:58:06.000000000 +0100 -@@ -44,11 +44,13 @@ - #include "com/sun/star/uno/RuntimeException.hpp" - #include "com/sun/star/uno/Sequence.hxx" - #include "com/sun/star/util/URL.hpp" -+#include - #include "cppuhelper/implbase1.hxx" - #include "cppunit/TestAssert.h" - #include "cppunit/TestFixture.h" - #include "cppunit/extensions/HelperMacros.h" - #include "cppunit/plugin/TestPlugIn.h" -+#include - #include "osl/conditn.hxx" - #include "osl/diagnose.h" - #include "rtl/ustring.h" -diff -r a4c016dc07ba forms/source/component/Button.cxx ---- a/forms/source/component/Button.cxx Tue Aug 03 12:19:44 2010 +0100 -+++ b/forms/source/component/Button.cxx Wed Aug 04 18:51:57 2010 +0100 -@@ -439,7 +439,7 @@ - void OButtonControl::actionPerformed(const ActionEvent& /*rEvent*/) throw ( ::com::sun::star::uno::RuntimeException) - { - // Asynchron fuer starutil::URL-Button -- sal_uInt32 n = Application::PostUserEvent( LINK(this, OButtonControl,OnClick) ); -+ ULONG n = Application::PostUserEvent( LINK(this, OButtonControl,OnClick) ); - { - ::osl::MutexGuard aGuard( m_aMutex ); - m_nClickEvent = n; -diff -r a4c016dc07ba forms/source/component/Button.hxx ---- a/forms/source/component/Button.hxx Tue Aug 03 12:19:44 2010 +0100 -+++ b/forms/source/component/Button.hxx Wed Aug 04 18:51:57 2010 +0100 -@@ -127,7 +127,7 @@ - ,public OFormNavigationHelper - { - private: -- sal_uInt32 m_nClickEvent; -+ ULONG m_nClickEvent; - sal_Int16 m_nTargetUrlFeatureId; - /// caches the value of the "Enabled" property of our model - sal_Bool m_bEnabledByPropertyValue; -diff -r b96c661a8f96 canvas/source/cairo/cairo_textlayout.cxx ---- a/canvas/source/cairo/cairo_textlayout.cxx Fri Aug 06 11:55:33 2010 +0200 -+++ b/canvas/source/cairo/cairo_textlayout.cxx Fri Aug 06 13:30:27 2010 +0200 -@@ -521,8 +521,8 @@ - nWidth = aFont.GetHeight(); - } else { - // any scaling needs to be relative to the platform-dependent definition -- // of width of the font -- nWidth = aFont.GetHeight() * aFont.GetWidth() / aMetric.GetWidth(); -+ // of height of the font -+ nWidth = aFont.GetWidth() * aFont.GetHeight() / aMetric.GetHeight(); - } - - cairo_matrix_init_identity(&m); -diff -r a1a3b75faa8a stlport/systemstlguards/postextstl.h ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/stlport/systemstlguards/postextstl.h Fri Jul 30 13:40:34 2010 +0100 -@@ -0,0 +1,36 @@ -+/************************************************************************* -+ * -+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+ * -+ * Copyright 2000, 2010 Oracle and/or its affiliates. -+ * -+ * OpenOffice.org - a multi-platform office productivity suite -+ * -+ * This file is part of OpenOffice.org. -+ * -+ * OpenOffice.org is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License version 3 -+ * only, as published by the Free Software Foundation. -+ * -+ * OpenOffice.org is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License version 3 for more details -+ * (a copy is included in the LICENSE file that accompanied this code). -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * version 3 along with OpenOffice.org. If not, see -+ * -+ * for a copy of the LGPLv3 License. -+ * -+ ************************************************************************/ -+ -+#ifdef std_was_redefined_as_stlport -+// put things back the way they were -+# define std std_was_redefined_as_stlport -+# undef _STLP_OUTERMOST_HEADER_ID -+// force config to be re-read -+# undef _STLP_NOTHROW_INHERENTLY -+# undef _STLP_CONFIG_H -+# include -+#endif -diff -r a1a3b75faa8a stlport/systemstlguards/preextstl.h ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/stlport/systemstlguards/preextstl.h Fri Jul 30 13:40:34 2010 +0100 -@@ -0,0 +1,77 @@ -+/************************************************************************* -+ * -+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+ * -+ * Copyright 2000, 2010 Oracle and/or its affiliates. -+ * -+ * OpenOffice.org - a multi-platform office productivity suite -+ * -+ * This file is part of OpenOffice.org. -+ * -+ * OpenOffice.org is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU Lesser General Public License version 3 -+ * only, as published by the Free Software Foundation. -+ * -+ * OpenOffice.org is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License version 3 for more details -+ * (a copy is included in the LICENSE file that accompanied this code). -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * version 3 along with OpenOffice.org. If not, see -+ * -+ * for a copy of the LGPLv3 License. -+ * -+ ************************************************************************/ -+//1. Force inclusion of a std:: using header to ensure the stlport define -+//of std as "stlport" -+#include -+#if defined(ADAPT_EXT_STL) -+//2. Force inclusion of stlport headers to get their stlport:: definitions -+# include -+# include -+# include -+# include -+# include -+# include -+# include -+# include -+# include -+# include -+//3. Now force inclusion of native headers to get their std:: definitions -+# if defined(std) -+# define std_was_redefined_as_stlport std -+# undef std -+# define _STLP_OUTERMOST_HEADER_ID 0xdeadbeaf -+# if defined(_GNUC__) -+# pragma GCC visibility push(default) -+# endif -+# include _STLP_NATIVE_HEADER(exception_defines.h) -+# include _STLP_NATIVE_HEADER(limits) -+# include _STLP_NATIVE_HEADER(memory) -+# include _STLP_NATIVE_HEADER(exception) -+# include _STLP_NATIVE_HEADER(iosfwd) -+# include _STLP_NATIVE_HEADER(algorithm) -+# include _STLP_NATIVE_HEADER(string) -+# include _STLP_NATIVE_HEADER(streambuf) -+# include _STLP_NATIVE_HEADER(ios) -+# include _STLP_NATIVE_HEADER(locale) -+# include _STLP_NATIVE_HEADER(stdexcept) -+# include _STLP_NATIVE_HEADER(ostream) -+# include _STLP_NATIVE_HEADER(istream) -+# include _STLP_NATIVE_HEADER(iostream) -+# include _STLP_NATIVE_HEADER(sstream) -+# include _STLP_NATIVE_HEADER(vector) -+# include _STLP_NATIVE_HEADER(deque) -+# include _STLP_NATIVE_HEADER(set) -+# include _STLP_NATIVE_HEADER(list) -+# include _STLP_NATIVE_HEADER(map) -+# if defined(_GNUC__) -+# pragma GCC visibility pop -+# endif -+# endif -+#endif -+//ext_std resolves to the std that external c++ libs, e.g. Graphite were built -+//against regardless of whether that is stlport or system stl -+namespace ext_std = std; diff --git a/workspace.cmcfixes78.patch b/workspace.cmcfixes78.patch deleted file mode 100644 index bd3822b..0000000 --- a/workspace.cmcfixes78.patch +++ /dev/null @@ -1,11 +0,0 @@ -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() ); - diff --git a/workspace.cmcfixes79.patch b/workspace.cmcfixes79.patch deleted file mode 100644 index e534ef2..0000000 --- a/workspace.cmcfixes79.patch +++ /dev/null @@ -1,379 +0,0 @@ -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 @@ - ~Trace Dependents - - -+ -+ -+ ~Normal Pane -+ -+ -+ ~Normal -+ -+ - - - ~Split Window -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 @@ - - - -- -+ - - - - - -- -- -+ -+ - - - -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; nCall( 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 @@ - - - -- -- -+ -+ - - - -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 @@ - - - -- -- -- -+ -+ -+ - - - -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 @@ - - - -- -- -+ -+ - - - -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 @@ - - - -- -- -+ -+ - - - -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 @@ - - - -- -- -+ -+ - - - -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 @@ - - - -- -- -+ -+ - - - -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([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; - } - } diff --git a/workspace.dtardon03.patch b/workspace.dtardon03.patch deleted file mode 100644 index e5e50e3..0000000 --- a/workspace.dtardon03.patch +++ /dev/null @@ -1,286 +0,0 @@ -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 @@ - - - -- -- -+ -+ - rtl - - -@@ -579,13 +579,13 @@ - - - -- -+ - - - - - -- -+ - - - -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 @@ - - t0109 - 标识符 -- -- -- -- -- -- -- -+ - - - -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 @@ - - - -+ -+ - - - -@@ -1785,13 +1790,15 @@ - - - -- -+ 0 - - - - - -- -+ -+ -+ - - - -@@ -1866,6 +1873,7 @@ - - - -+ 0 - 1 - - -@@ -1876,9 +1884,10 @@ - - - -- -+ - - -+ - - - -@@ -1889,7 +1898,7 @@ - - - -- -+ - - - -@@ -2088,7 +2097,7 @@ - - - -+ but have to be reused on following items with no text:start-value --> - - - -@@ -2122,6 +2131,8 @@ - - -+ -+ - - - -@@ -2155,7 +2166,7 @@ - - - -- -+ - - - -@@ -2210,7 +2221,7 @@ - - - -- -+ - - - 1 -@@ -2243,11 +2254,14 @@ - - - -+ -+ -+ - - - -- -- -+ -+ - - - -@@ -2269,8 +2283,8 @@ - - - -- -- -+ -+ - - - -@@ -2292,8 +2306,8 @@ - - - -- -- -+ -+ - - - -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])"/> - -- -- -- - - <sect1> - - -- -+ - - - -@@ -1186,4 +1181,4 @@ - - - -- -\ No newline at end of file -+ -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 @@ - - - -+ -+ -+ -+ -+ -+ -+ - - - -@@ -75,10 +82,10 @@ - - - -- -+ - - -- -+ - - - -@@ -86,6 +93,35 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ The required node-set function was not found! -+ -+ -+ -+ -+ -+ -+ -+ - - - diff --git a/workspace.gtk3.patch b/workspace.gtk3.patch deleted file mode 100644 index 78ba4f1..0000000 --- a/workspace.gtk3.patch +++ /dev/null @@ -1,2761 +0,0 @@ -diff -ru svtools.orig/inc/svtools/svtools.hrc svtools/inc/svtools/svtools.hrc ---- svtools/inc/svtools/svtools.hrc 2009-01-14 15:52:54.000000000 +0000 -+++ svtools/inc/svtools/svtools.hrc 2009-01-14 15:53:18.000000000 +0000 -@@ -73,6 +73,7 @@ - #define RID_FILEOPEN_INVALIDFOLDER (RID_SVTOOLS_START + 34) - #define RID_FILEOPEN_NOTEXISTENTFILE (RID_SVTOOLS_START + 35) - #define STR_SVT_NOREMOVABLEDEVICE (RID_SVTOOLS_START + 36) -+#define STR_SVT_ALLFORMATS (RID_SVTOOLS_START + 37) - - // doc template dialog - #define DLG_DOCTEMPLATE (RID_SVTOOLS_START+50) -diff -ru fpicker.orig/source/office/iodlg.src fpicker/source/office/iodlg.src ---- fpicker/source/office/iodlg.src 2009-01-14 11:56:02.000000000 +0000 -+++ fpicker/source/office/iodlg.src 2009-01-14 15:59:44.000000000 +0000 -@@ -317,5 +312,10 @@ - Text [ en-US ] = "No removable storage device detected.\nMake sure it is plugged in properly and try again." ; - }; - -+String STR_SVT_ALLFORMATS -+{ -+ Text [ en-US ] = "All Formats" ; -+}; -+ - //******************************************************************** EOF - -diff -ru fpicker.orig/source/unx/gnome/resourceprovider.cxx fpicker/source/unx/gnome/resourceprovider.cxx ---- fpicker/source/unx/gnome/resourceprovider.cxx 2009-01-14 11:56:02.000000000 +0000 -+++ fpicker/source/unx/gnome/resourceprovider.cxx 2009-01-14 15:42:26.000000000 +0000 -@@ -85,7 +85,8 @@ - { CHECKBOX_SELECTION, STR_SVT_FILEPICKER_SELECTION }, - { FOLDERPICKER_TITLE, STR_SVT_FOLDERPICKER_DEFAULT_TITLE }, - { FOLDER_PICKER_DEF_DESCRIPTION, STR_SVT_FOLDERPICKER_DEFAULT_DESCRIPTION }, -- { FILE_PICKER_OVERWRITE, STR_SVT_ALREADYEXISTOVERWRITE } -+ { FILE_PICKER_OVERWRITE, STR_SVT_ALREADYEXISTOVERWRITE }, -+ { FILE_PICKER_ALLFORMATS, STR_SVT_ALLFORMATS } - }; - - _Entry OtherCtrlIdToResIdTable[] = { -diff -ru fpicker.orig/source/unx/gnome/resourceprovider.hxx fpicker/source/unx/gnome/resourceprovider.hxx ---- fpicker/source/unx/gnome/resourceprovider.hxx 2009-01-14 11:56:02.000000000 +0000 -+++ fpicker/source/unx/gnome/resourceprovider.hxx 2009-01-14 15:40:34.000000000 +0000 -@@ -48,6 +48,7 @@ - #define FILE_PICKER_TITLE_SAVE 503 - #define FILE_PICKER_FILE_TYPE 504 - #define FILE_PICKER_OVERWRITE 505 -+#define FILE_PICKER_ALLFORMATS 506 - - //------------------------------------------------------------------------ - // deklarations -diff -ru fpicker.orig/source/unx/gnome/SalGtkFilePicker.cxx fpicker/source/unx/gnome/SalGtkFilePicker.cxx ---- fpicker/source/unx/gnome/SalGtkFilePicker.cxx 2009-01-14 11:56:02.000000000 +0000 -+++ fpicker/source/unx/gnome/SalGtkFilePicker.cxx 2009-01-14 15:42:05.000000000 +0000 -@@ -52,6 +52,7 @@ - - #include - #include -+#include - #include "resourceprovider.hxx" - #ifndef _SV_RC_H - #include -@@ -181,6 +182,7 @@ - mbPreviewState( sal_False ), - mHID_Preview( 0 ), - m_pPreview( NULL ), -+ m_pPseudoFilter( NULL ), - m_PreviewImageWidth( 256 ), - m_PreviewImageHeight( 256 ) - { -@@ -692,7 +694,7 @@ - m_pFilterList = new FilterList; - - // set the first filter to the current filter -- if( ( !m_aCurrentFilter ) || ( !m_aCurrentFilter.getLength() ) ) -+ if ( !m_aCurrentFilter.getLength() ) - m_aCurrentFilter = _rInitialCurrentFilter; - } - } -@@ -715,7 +717,6 @@ - - // append the filter - m_pFilterList->insert( m_pFilterList->end(), FilterEntry( aTitle, aFilter ) ); -- // implAddFilter( aTitle, aFilter ); - } - - //----------------------------------------------------------------------------------------- -@@ -782,7 +783,10 @@ - } - else if( GtkFileFilter *filter = gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(m_pDialog))) - { -- updateCurrentFilterFromName(gtk_file_filter_get_name( filter )); -+ if (m_pPseudoFilter != filter) -+ updateCurrentFilterFromName(gtk_file_filter_get_name( filter )); -+ else -+ updateCurrentFilterFromName(OUStringToOString( m_aInitialFilter, RTL_TEXTENCODING_UTF8 ).getStr()); - } - } - -@@ -950,9 +954,15 @@ - } - } - -- const gchar* filtername = -- gtk_file_filter_get_name( gtk_file_chooser_get_filter( GTK_FILE_CHOOSER( m_pDialog ) ) ); -- sFilterName = OUString( filtername, strlen( filtername ), RTL_TEXTENCODING_UTF8 ); -+ GtkFileFilter *filter = gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(m_pDialog)); -+ if (m_pPseudoFilter != filter) -+ { -+ const gchar* filtername = -+ gtk_file_filter_get_name( filter ); -+ sFilterName = OUString( filtername, strlen( filtername ), RTL_TEXTENCODING_UTF8 ); -+ } -+ else -+ sFilterName = m_aInitialFilter; - } - - OSL_TRACE( "2: current filter is %s\n", -@@ -1917,7 +1927,7 @@ - } - } - --int SalGtkFilePicker::implAddFilter( const OUString& rFilter, const OUString& rType ) -+GtkFileFilter* SalGtkFilePicker::implAddFilter( const OUString& rFilter, const OUString& rType ) - { - GdkThreadLock aLock; - -@@ -1968,7 +1978,6 @@ - - gtk_file_chooser_add_filter( GTK_FILE_CHOOSER( m_pDialog ), filter ); - -- int nAdded = 0; - if (!bAllGlob) - { - GtkTreeIter iter; -@@ -1979,30 +1988,67 @@ - 2, aFilterName.getStr(), - 3, OUStringToOString(rType, RTL_TEXTENCODING_UTF8).getStr(), - -1); -- nAdded = 1; - } -- return nAdded; -+ return filter; - } - --int SalGtkFilePicker::implAddFilterGroup( const OUString& /*_rFilter*/, const Sequence< StringPair >& _rFilters ) -+void SalGtkFilePicker::implAddFilterGroup( const OUString& /*_rFilter*/, const Sequence< StringPair >& _rFilters ) - { - // Gtk+ has no filter group concept I think so ... - // implAddFilter( _rFilter, String() ); -- int nAdded = 0; - const StringPair* pSubFilters = _rFilters.getConstArray(); - const StringPair* pSubFiltersEnd = pSubFilters + _rFilters.getLength(); - for( ; pSubFilters != pSubFiltersEnd; ++pSubFilters ) -- nAdded += implAddFilter( pSubFilters->First, pSubFilters->Second ); -- return nAdded; -+ implAddFilter( pSubFilters->First, pSubFilters->Second ); - } - - void SalGtkFilePicker::SetFilters() - { -- OSL_TRACE( "start setting filters\n"); -- - GdkThreadLock aLock; - -- int nAdded = 0; -+ if (!m_aInitialFilter.getLength()) -+ m_aInitialFilter = m_aCurrentFilter; -+ -+ rtl::OUString sPseudoFilter; -+ if( GTK_FILE_CHOOSER_ACTION_SAVE == gtk_file_chooser_get_action( GTK_FILE_CHOOSER( m_pDialog ) ) ) -+ { -+ std::set aAllFormats; -+ if( m_pFilterList && !m_pFilterList->empty() ) -+ { -+ for ( FilterList::iterator aListIter = m_pFilterList->begin(); -+ aListIter != m_pFilterList->end(); -+ ++aListIter -+ ) -+ { -+ if( aListIter->hasSubFilters() ) -+ { // it's a filter group -+ UnoFilterList aSubFilters; -+ aListIter->getSubFilters( aSubFilters ); -+ const StringPair* pSubFilters = aSubFilters.getConstArray(); -+ const StringPair* pSubFiltersEnd = pSubFilters + aSubFilters.getLength(); -+ for( ; pSubFilters != pSubFiltersEnd; ++pSubFilters ) -+ aAllFormats.insert(pSubFilters->Second); -+ } -+ else -+ aAllFormats.insert(aListIter->getFilter()); -+ } -+ } -+ if (aAllFormats.size() > 1) -+ { -+ rtl::OUString sAllFilter; -+ std::set::const_iterator aEnd = aAllFormats.end(); -+ for (std::set::const_iterator aIter = aAllFormats.begin(); aIter != aEnd; ++aIter) -+ { -+ if (sAllFilter.getLength()) -+ sAllFilter += OUString(sal_Unicode(';')); -+ sAllFilter += *aIter; -+ } -+ CResourceProvider aResProvider; -+ sPseudoFilter = aResProvider.getResString(FILE_PICKER_ALLFORMATS); -+ m_pPseudoFilter = implAddFilter( sPseudoFilter, sAllFilter ); -+ } -+ } -+ - if( m_pFilterList && !m_pFilterList->empty() ) - { - for ( FilterList::iterator aListIter = m_pFilterList->begin(); -@@ -2016,30 +2062,27 @@ - UnoFilterList aSubFilters; - aListIter->getSubFilters( aSubFilters ); - -- nAdded += implAddFilterGroup( aListIter->getTitle(), aSubFilters ); -+ implAddFilterGroup( aListIter->getTitle(), aSubFilters ); - } - else - { - // it's a single filter - -- nAdded += implAddFilter( aListIter->getTitle(), aListIter->getFilter() ); -+ implAddFilter( aListIter->getTitle(), aListIter->getFilter() ); - } - } - } - -- if (nAdded) -+ if (gtk_tree_model_iter_n_children(GTK_TREE_MODEL(m_pFilterStore), NULL)) //If m_pFilterStore is not empty - gtk_widget_show( m_pFilterExpander ); - else - gtk_widget_hide( m_pFilterExpander ); - - // set the default filter -- if( m_aCurrentFilter && (m_aCurrentFilter.getLength() > 0) ) -- { -- OSL_TRACE( "Setting current filter to %s\n", -- OUStringToOString( m_aCurrentFilter, RTL_TEXTENCODING_UTF8 ).getStr() ); -- -+ if (sPseudoFilter.getLength()) -+ SetCurFilter( sPseudoFilter ); -+ else if(m_aCurrentFilter.getLength()) - SetCurFilter( m_aCurrentFilter ); -- } - - OSL_TRACE( "end setting filters\n"); - } -diff -ru fpicker.orig/source/unx/gnome/SalGtkFilePicker.hxx fpicker/source/unx/gnome/SalGtkFilePicker.hxx ---- fpicker/source/unx/gnome/SalGtkFilePicker.hxx 2009-01-14 11:56:02.000000000 +0000 -+++ fpicker/source/unx/gnome/SalGtkFilePicker.hxx 2009-01-14 15:34:41.000000000 +0000 -@@ -317,11 +317,13 @@ - gulong mnHID_SelectionChange; - - ::rtl::OUString m_aCurrentFilter; -+ ::rtl::OUString m_aInitialFilter; - - bool bVersionWidthUnset; - sal_Bool mbPreviewState; - gulong mHID_Preview; - GtkWidget* m_pPreview; -+ GtkFileFilter* m_pPseudoFilter; - sal_Int32 m_PreviewImageWidth; - sal_Int32 m_PreviewImageHeight; - -@@ -332,8 +334,8 @@ - void UpdateFilterfromUI(); - - void implChangeType( GtkTreeSelection *selection ); -- int implAddFilter( const OUString& rFilter, const OUString& rType); -- int implAddFilterGroup( const OUString& rFilter, -+ GtkFileFilter * implAddFilter( const OUString& rFilter, const OUString& rType ); -+ void implAddFilterGroup( const OUString& rFilter, - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair>& _rFilters ); - void updateCurrentFilterFromName(const gchar* filtername); - void unselect_type(); ---- vcl.orig/unx/gtk/window/gtkframe.cxx 2010-05-29 11:29:16.000000000 +0100 -+++ vcl/unx/gtk/window/gtkframe.cxx 2010-05-29 12:02:19.000000000 +0100 -@@ -79,6 +79,14 @@ - #define GDK_META_MASK (1 << 28) - #endif - -+#if GTK_CHECK_VERSION(2,90,0) -+#define IS_WIDGET_REALIZED gtk_widget_get_realized -+#define IS_WIDGET_MAPPED gtk_widget_get_mapped -+#else -+#define IS_WIDGET_REALIZED GTK_WIDGET_REALIZED -+#define IS_WIDGET_MAPPED GTK_WIDGET_MAPPED -+#endif -+ - using namespace com::sun::star; - - int GtkSalFrame::m_nFloats = 0; -@@ -428,12 +436,12 @@ - getDisplay()->deregisterFrame( this ); - - if( m_pRegion ) -- gdk_region_destroy( m_pRegion ); -+ gdk_region_destroy( m_pRegion ); - - if( m_hBackgroundPixmap ) - { - XSetWindowBackgroundPixmap( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(m_pWindow->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), - None ); - XFreePixmap( getDisplay()->GetDisplay(), m_hBackgroundPixmap ); - } -@@ -592,7 +600,7 @@ - SalDisplay* pDisp = GetX11SalData()->GetDisplay(); - m_aSystemData.nSize = sizeof( SystemChildData ); - m_aSystemData.pDisplay = pDisp->GetDisplay(); -- m_aSystemData.aWindow = GDK_WINDOW_XWINDOW(m_pWindow->window); -+ m_aSystemData.aWindow = GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)); - m_aSystemData.pSalFrame = this; - m_aSystemData.pWidget = m_pWindow; - m_aSystemData.pVisual = pDisp->GetVisual( m_nScreen ).GetVisual(); -@@ -644,7 +652,7 @@ - * some paint issues - */ - XSetWindowBackgroundPixmap( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(m_pWindow->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), - m_hBackgroundPixmap ); - } - -@@ -678,7 +686,7 @@ - else if( ! bBeforeRealize ) - { - Display* pDisplay = GetX11SalData()->GetDisplay()->GetDisplay(); -- XLIB_Window aWindow = GDK_WINDOW_XWINDOW( GTK_WIDGET(pWindow)->window ); -+ XLIB_Window aWindow = GDK_WINDOW_XWINDOW( widget_get_window(GTK_WIDGET(pWindow)) ); - XWMHints* pHints = XGetWMHints( pDisplay, aWindow ); - if( ! pHints ) - { -@@ -863,7 +871,7 @@ - nUserTime= getDisplay()->GetLastUserEventTime( true ); - // nUserTime = gdk_x11_get_server_time(GTK_WIDGET (m_pWindow)->window); - } -- lcl_set_user_time(GTK_WIDGET(m_pWindow)->window, nUserTime); -+ lcl_set_user_time(widget_get_window(GTK_WIDGET(m_pWindow)), nUserTime); - } - - if( bDecoHandling ) -@@ -917,7 +925,8 @@ - { - m_pWindow = gtk_plug_new( pSysData->aWindow ); - m_bWindowIsGtkPlug = true; -- GTK_WIDGET_SET_FLAGS( m_pWindow, GTK_CAN_FOCUS | GTK_SENSITIVE | GTK_CAN_DEFAULT ); -+ widget_set_can_default( m_pWindow, true ); -+ widget_set_can_focus( m_pWindow, true ); - gtk_widget_set_sensitive( m_pWindow, true ); - } - else -@@ -942,7 +951,7 @@ - if( ! m_bWindowIsGtkPlug ) - { - XReparentWindow( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(m_pWindow->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), - (XLIB_Window)pSysData->aWindow, - 0, 0 ); - } -@@ -976,14 +985,14 @@ - if( nStyle != m_nExtStyle && ! isChild() ) - { - m_nExtStyle = nStyle; -- if( GTK_WIDGET_REALIZED( m_pWindow ) ) -+ if( IS_WIDGET_REALIZED( m_pWindow ) ) - { - XClassHint* pClass = XAllocClassHint(); - rtl::OString aResHint = X11SalData::getFrameResName( m_nExtStyle ); - pClass->res_name = const_cast(aResHint.getStr()); - pClass->res_class = const_cast(X11SalData::getFrameClassName()); - XSetClassHint( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(m_pWindow->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), - pClass ); - XFree( pClass ); - } -@@ -1007,7 +1016,7 @@ - if( ! m_aGraphics[i].pGraphics ) - { - m_aGraphics[i].pGraphics = new GtkSalGraphics( m_pWindow ); -- m_aGraphics[i].pGraphics->Init( this, GDK_WINDOW_XWINDOW(m_pWindow->window), m_nScreen ); -+ m_aGraphics[i].pGraphics->Init( this, GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), m_nScreen ); - } - return m_aGraphics[i].pGraphics; - } -@@ -1308,7 +1317,7 @@ - setMinMaxSize(); - - // #i45160# switch to desktop where a dialog with parent will appear -- if( m_pParent && m_pParent->m_nWorkArea != m_nWorkArea && GTK_WIDGET_MAPPED(m_pParent->m_pWindow) ) -+ if( m_pParent && m_pParent->m_nWorkArea != m_nWorkArea && IS_WIDGET_MAPPED(m_pParent->m_pWindow) ) - getDisplay()->getWMAdaptor()->switchToWorkArea( m_pParent->m_nWorkArea ); - - if( isFloatGrabWindow() && -@@ -1363,7 +1372,7 @@ - nUserTime= getDisplay()->GetLastUserEventTime( true ); - //nUserTime = gdk_x11_get_server_time(GTK_WIDGET (m_pWindow)->window); - } -- lcl_set_user_time( GTK_WIDGET(m_pWindow)->window, nUserTime ); -+ lcl_set_user_time( widget_get_window(GTK_WIDGET(m_pWindow)), nUserTime ); - - if( bHack && ! bNoActivate && (m_nStyle & SAL_FRAME_STYLE_TOOLWINDOW) ) - m_bSetFocusOnMap = true; -@@ -1472,7 +1481,7 @@ - { - m_aMaxSize = Size( nWidth, nHeight ); - // Show does a setMinMaxSize -- if( GTK_WIDGET_MAPPED( m_pWindow ) ) -+ if( IS_WIDGET_MAPPED( m_pWindow ) ) - setMinMaxSize(); - } - } -@@ -1485,7 +1494,7 @@ - { - gtk_widget_set_size_request( m_pWindow, nWidth, nHeight ); - // Show does a setMinMaxSize -- if( GTK_WIDGET_MAPPED( m_pWindow ) ) -+ if( IS_WIDGET_MAPPED( m_pWindow ) ) - setMinMaxSize(); - } - } -@@ -1737,7 +1746,7 @@ - gtk_widget_realize( m_pWindow ); - // update system data - GtkSalDisplay* pDisp = getDisplay(); -- m_aSystemData.aWindow = GDK_WINDOW_XWINDOW(m_pWindow->window); -+ m_aSystemData.aWindow = GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)); - m_aSystemData.pVisual = pDisp->GetVisual( m_nScreen ).GetVisual(); - m_aSystemData.nScreen = nScreen; - m_aSystemData.nDepth = pDisp->GetVisual( m_nScreen ).GetDepth(); -@@ -1748,7 +1757,7 @@ - for( unsigned int i = 0; i < sizeof(m_aGraphics)/sizeof(m_aGraphics[0]); i++ ) - { - if( m_aGraphics[i].bInUse ) -- m_aGraphics[i].pGraphics->SetDrawable( GDK_WINDOW_XWINDOW(m_pWindow->window), m_nScreen ); -+ m_aGraphics[i].pGraphics->SetDrawable( GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), m_nScreen ); - } - updateScreenNumber(); - } -@@ -1777,7 +1786,7 @@ - - Rectangle aOldScreenRect( pDisp->GetXineramaScreens()[maGeometry.nScreenNumber] ); - Rectangle aNewScreenRect( pDisp->GetXineramaScreens()[nNewScreen] ); -- bool bVisible = GTK_WIDGET_MAPPED(m_pWindow); -+ bool bVisible = IS_WIDGET_MAPPED(m_pWindow); - if( bVisible ) - Show( FALSE ); - maGeometry.nX = aNewScreenRect.Left() + (maGeometry.nX - aOldScreenRect.Left()); -@@ -1809,7 +1818,7 @@ - { - m_aRestorePosSize = Rectangle( Point( maGeometry.nX, maGeometry.nY ), - Size( maGeometry.nWidth, maGeometry.nHeight ) ); -- bool bVisible = GTK_WIDGET_MAPPED(m_pWindow); -+ bool bVisible = IS_WIDGET_MAPPED(m_pWindow); - if( bVisible ) - Show( FALSE ); - m_nStyle |= SAL_FRAME_STYLE_PARTIAL_FULLSCREEN; -@@ -1838,7 +1847,7 @@ - } - else - { -- bool bVisible = GTK_WIDGET_MAPPED(m_pWindow); -+ bool bVisible = IS_WIDGET_MAPPED(m_pWindow); - if( ! getDisplay()->getWMAdaptor()->isLegacyPartialFullscreen() ) - gtk_window_unfullscreen( GTK_WINDOW(m_pWindow) ); - if( bVisible ) -@@ -2052,7 +2061,7 @@ - } - #ifdef ENABLE_DBUS - m_nGSMCookie = dbus_inhibit_gsm(g_get_application_name(), "presentation", -- GDK_WINDOW_XID(m_pWindow->window)); -+ GDK_WINDOW_XID(widget_get_window(m_pWindow))); - #endif - } - else -@@ -2078,7 +2087,7 @@ - { - if( isChild( false, true ) ) - gtk_widget_grab_focus( m_pWindow ); -- else if( GTK_WIDGET_MAPPED( m_pWindow ) ) -+ else if( IS_WIDGET_MAPPED( m_pWindow ) ) - { - if( ! (nFlags & SAL_FRAME_TOTOP_GRABFOCUS_ONLY) ) - gtk_window_present( GTK_WINDOW(m_pWindow) ); -@@ -2087,7 +2096,7 @@ - // gdk_window_focus( m_pWindow->window, gdk_x11_get_server_time(GTK_WIDGET (m_pWindow)->window) ); - /* #i99360# ugly workaround an X11 library bug */ - guint32 nUserTime= getDisplay()->GetLastUserEventTime( true ); -- gdk_window_focus( m_pWindow->window, nUserTime ); -+ gdk_window_focus( widget_get_window(m_pWindow), nUserTime ); - } - /* need to do an XSetInputFocus here because - * gdk_window_focus will ask a EWMH compliant WM to put the focus -@@ -2099,7 +2108,7 @@ - // sad but true: this can cause an XError, we need to catch that - // to do this we need to synchronize with the XServer - getDisplay()->GetXLib()->PushXErrorLevel( true ); -- XSetInputFocus( getDisplay()->GetDisplay(), GDK_WINDOW_XWINDOW( m_pWindow->window ), RevertToParent, CurrentTime ); -+ XSetInputFocus( getDisplay()->GetDisplay(), GDK_WINDOW_XWINDOW( widget_get_window(m_pWindow) ), RevertToParent, CurrentTime ); - XSync( getDisplay()->GetDisplay(), False ); - getDisplay()->GetXLib()->PopXErrorLevel(); - } -@@ -2118,7 +2127,7 @@ - { - m_ePointerStyle = ePointerStyle; - GdkCursor *pCursor = getDisplay()->getCursor( ePointerStyle ); -- gdk_window_set_cursor( m_pWindow->window, pCursor ); -+ gdk_window_set_cursor( widget_get_window(m_pWindow), pCursor ); - m_pCurrentCursor = pCursor; - - // #i80791# use grabPointer the same way as CaptureMouse, respective float grab -@@ -2153,7 +2162,7 @@ - { - const int nMask = ( GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK ); - -- gdk_pointer_grab( m_pWindow->window, bOwnerEvents, -+ gdk_pointer_grab( widget_get_window(m_pWindow), bOwnerEvents, - (GdkEventMask) nMask, NULL, m_pCurrentCursor, - GDK_CURRENT_TIME ); - } -@@ -2166,7 +2175,7 @@ - // this is of course a bad hack, especially as we cannot - // set the right cursor this way - XGrabPointer( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW( m_pWindow->window), -+ GDK_WINDOW_XWINDOW( widget_get_window(m_pWindow)), - bOwnerEvents, - PointerMotionMask | ButtonPressMask | ButtonReleaseMask, - GrabModeAsync, -@@ -2214,7 +2223,7 @@ - // #i38648# ask for the next motion hint - gint x, y; - GdkModifierType mask; -- gdk_window_get_pointer( pFrame->m_pWindow->window, &x, &y, &mask ); -+ gdk_window_get_pointer( widget_get_window(pFrame->m_pWindow) , &x, &y, &mask ); - } - - void GtkSalFrame::Flush() -@@ -2300,7 +2309,7 @@ - return NULL; - - X11SalBitmap *pBmp = new X11SalBitmap; -- GdkWindow *pWin = m_pWindow->window; -+ GdkWindow *pWin = widget_get_window(m_pWindow); - if( pBmp->SnapShot( GDK_DISPLAY_XDISPLAY( getGdkDisplay() ), - GDK_WINDOW_XID( pWin ) ) ) - return pBmp; -@@ -2362,7 +2371,7 @@ - - void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nScreen ) - { -- bool bWasVisible = GTK_WIDGET_MAPPED(m_pWindow); -+ bool bWasVisible = IS_WIDGET_MAPPED(m_pWindow); - if( bWasVisible ) - Show( FALSE ); - -@@ -2407,7 +2416,7 @@ - m_pIMHandler = NULL; - } - if( m_pRegion ) -- gdk_region_destroy( m_pRegion ); -+ gdk_region_destroy( m_pRegion ); - if( m_pFixedContainer ) - gtk_widget_destroy( GTK_WIDGET(m_pFixedContainer) ); - if( m_pWindow ) -@@ -2435,7 +2444,7 @@ - { - if( m_aGraphics[i].bInUse ) - { -- m_aGraphics[i].pGraphics->SetDrawable( GDK_WINDOW_XWINDOW(m_pWindow->window), m_nScreen ); -+ m_aGraphics[i].pGraphics->SetDrawable( GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), m_nScreen ); - m_aGraphics[i].pGraphics->SetWindow( m_pWindow ); - } - } -@@ -2465,14 +2474,14 @@ - void GtkSalFrame::ResetClipRegion() - { - if( m_pWindow ) -- gdk_window_shape_combine_region( m_pWindow->window, NULL, 0, 0 ); -+ gdk_window_shape_combine_region( widget_get_window(m_pWindow), NULL, 0, 0 ); - } - - void GtkSalFrame::BeginSetClipRegion( ULONG ) - { - if( m_pRegion ) -- gdk_region_destroy( m_pRegion ); -- m_pRegion = gdk_region_new(); -+ gdk_region_destroy( m_pRegion ); -+ m_pRegion = gdk_region_new(); - } - - void GtkSalFrame::UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) -@@ -2485,14 +2494,14 @@ - aRect.width = nWidth; - aRect.height = nHeight; - -- gdk_region_union_with_rect( m_pRegion, &aRect ); -+ gdk_region_union_with_rect( m_pRegion, &aRect ); - } - } - - void GtkSalFrame::EndSetClipRegion() - { - if( m_pWindow && m_pRegion ) -- gdk_window_shape_combine_region( m_pWindow->window, m_pRegion, 0, 0 ); -+ gdk_window_shape_combine_region( widget_get_window(m_pWindow), m_pRegion, 0, 0 ); - } - - bool GtkSalFrame::Dispatch( const XEvent* pEvent ) -@@ -2506,7 +2515,7 @@ - if( pEvent->xproperty.atom == nDesktopAtom && - pEvent->xproperty.state == PropertyNewValue ) - { -- m_nWorkArea = pAdaptor->getWindowWorkArea( GDK_WINDOW_XWINDOW( m_pWindow->window) ); -+ m_nWorkArea = pAdaptor->getWindowWorkArea( GDK_WINDOW_XWINDOW( widget_get_window(m_pWindow)) ); - } - } - else if( pEvent->type == ConfigureNotify ) -@@ -2533,7 +2542,7 @@ - int x = 0, y = 0; - XLIB_Window aChild; - XTranslateCoordinates( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW( m_pWindow->window), -+ GDK_WINDOW_XWINDOW( widget_get_window(m_pWindow) ), - getDisplay()->GetRootWindow( getDisplay()->GetDefaultScreenNumber() ), - 0, 0, - &x, &y, -@@ -2548,7 +2557,7 @@ - } - else if( pEvent->type == ClientMessage && - pEvent->xclient.message_type == getDisplay()->getWMAdaptor()->getAtom( vcl_sal::WMAdaptor::XEMBED ) && -- pEvent->xclient.window == GDK_WINDOW_XWINDOW(m_pWindow->window) && -+ pEvent->xclient.window == GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)) && - m_bWindowIsGtkPlug - ) - { -@@ -2560,7 +2569,7 @@ - { - GdkEventFocus aEvent; - aEvent.type = GDK_FOCUS_CHANGE; -- aEvent.window = m_pWindow->window; -+ aEvent.window = widget_get_window(m_pWindow); - aEvent.send_event = TRUE; - aEvent.in = (pEvent->xclient.data.l[1] == 1); - signalFocus( m_pWindow, &aEvent, this ); -@@ -2575,7 +2584,7 @@ - if( m_hBackgroundPixmap ) - { - XSetWindowBackgroundPixmap( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(m_pWindow->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), - None ); - XFreePixmap( getDisplay()->GetDisplay(), m_hBackgroundPixmap ); - m_hBackgroundPixmap = None; -@@ -2588,7 +2597,7 @@ - { - m_hBackgroundPixmap = - XCreatePixmap( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(m_pWindow->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), - aSize.Width(), - aSize.Height(), - getDisplay()->GetVisual(m_nScreen).GetDepth() ); -@@ -2604,7 +2613,7 @@ - aTwoRect, - getDisplay()->GetCopyGC(m_nScreen) ); - XSetWindowBackgroundPixmap( getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(m_pWindow->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(m_pWindow)), - m_hBackgroundPixmap ); - } - } -@@ -2777,7 +2786,7 @@ - // ask for the next hint - gint x, y; - GdkModifierType mask; -- gdk_window_get_pointer( GTK_WIDGET(pThis->m_pWindow)->window, &x, &y, &mask ); -+ gdk_window_get_pointer( widget_get_window(GTK_WIDGET(pThis->m_pWindow)), &x, &y, &mask ); - } - } - -@@ -2872,7 +2881,7 @@ - if( bSetFocus ) - { - XSetInputFocus( pThis->getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW( GTK_WIDGET(pThis->m_pWindow)->window), -+ GDK_WINDOW_XWINDOW( widget_get_window(GTK_WIDGET(pThis->m_pWindow))), - RevertToParent, CurrentTime ); - } - -@@ -2920,7 +2929,7 @@ - */ - XLIB_Window aChild; - XTranslateCoordinates( pThis->getDisplay()->GetDisplay(), -- GDK_WINDOW_XWINDOW(GTK_WIDGET(pThis->m_pWindow)->window), -+ GDK_WINDOW_XWINDOW(widget_get_window(GTK_WIDGET(pThis->m_pWindow))), - pThis->getDisplay()->GetRootWindow( pThis->getDisplay()->GetDefaultScreenNumber() ), - 0, 0, - &x, &y, -@@ -2954,7 +2963,7 @@ - if( ! (pThis->m_nStyle & SAL_FRAME_STYLE_PLUG) ) - { - GdkRectangle aRect; -- gdk_window_get_frame_extents( GTK_WIDGET(pThis->m_pWindow)->window, &aRect ); -+ gdk_window_get_frame_extents( widget_get_window(GTK_WIDGET(pThis->m_pWindow)), &aRect ); - pThis->maGeometry.nTopDecoration = y - aRect.y; - pThis->maGeometry.nBottomDecoration = aRect.y + aRect.height - y - pEvent->height; - pThis->maGeometry.nLeftDecoration = x - aRect.x; -@@ -3165,7 +3174,7 @@ - * some time on the Xserver as well as prevent - * some paint issues - */ -- GdkWindow* pWin = GTK_WIDGET(pThis->getWindow())->window; -+ GdkWindow* pWin = widget_get_window(GTK_WIDGET(pThis->getWindow())); - if( pWin ) - { - XLIB_Window aWin = GDK_WINDOW_XWINDOW(pWin); -@@ -3269,7 +3278,7 @@ - G_CALLBACK (signalIMPreeditEnd), this ); - - m_pFrame->getDisplay()->GetXLib()->PushXErrorLevel( true ); -- gtk_im_context_set_client_window( m_pIMContext, GTK_WIDGET(m_pFrame->m_pWindow)->window ); -+ gtk_im_context_set_client_window( m_pIMContext, widget_get_window(GTK_WIDGET(m_pFrame->m_pWindow)) ); - gtk_im_context_focus_in( m_pIMContext ); - m_pFrame->getDisplay()->GetXLib()->PopXErrorLevel(); - m_bFocused = true; ---- fpicker.orig/source/unx/gnome/SalGtkFilePicker.cxx 2010-05-29 21:22:49.000000000 +0100 -+++ fpicker/source/unx/gnome/SalGtkFilePicker.cxx 2010-05-29 21:26:05.000000000 +0100 -@@ -602,7 +602,11 @@ - g_return_if_fail( GTK_IS_DIALOG( pDialog ) ); - - GList *pChildren = -+#if GTK_CHECK_VERSION(2,90,0) -+ gtk_container_get_children( GTK_CONTAINER( gtk_dialog_get_action_area(pDialog) ) ); -+#else - gtk_container_get_children( GTK_CONTAINER( pDialog->action_area ) ); -+#endif - - for( GList *p = pChildren; p; p = p->next ) - gtk_widget_destroy( GTK_WIDGET( p->data ) ); -@@ -1600,7 +1604,7 @@ - - gtk_image_set_from_pixbuf( GTK_IMAGE( preview ), pixbuf ); - if( pixbuf ) -- gdk_pixbuf_unref( pixbuf ); -+ g_object_unref( pixbuf ); - - } - ---- libegg.orig/source/eggtrayicon.c 2010-05-29 21:27:29.000000000 +0100 -+++ libegg/source/eggtrayicon.c 2010-05-30 12:53:27.000000000 +0100 -@@ -230,6 +230,7 @@ - { - EggTrayIcon *icon = user_data; - XEvent *xev = (XEvent *)xevent; -+ (void)event; - - if (xev->xany.type == ClientMessage && - xev->xclient.message_type == icon->manager_atom && -@@ -280,6 +281,36 @@ - #endif - } - -+static gboolean -+gtk_widget_is_has_window(GtkWidget *widget) -+{ -+#if GTK_CHECK_VERSION(2,90,0) -+ return gtk_widget_get_has_window(widget); -+#else -+ return GTK_WIDGET_NO_WINDOW(widget); -+#endif -+} -+ -+static gboolean -+gtk_widget_is_app_paintable(GtkWidget *widget) -+{ -+#if GTK_CHECK_VERSION(2,90,0) -+ return gtk_widget_get_app_paintable(widget); -+#else -+ return GTK_WIDGET_APP_PAINTABLE(widget); -+#endif -+} -+ -+static GdkWindow * -+gtk_widget_window(GtkWidget *widget) -+{ -+#if GTK_CHECK_VERSION(2,90,0) -+ return gtk_widget_get_window(widget); -+#else -+ return widget->window; -+#endif -+} -+ - #ifdef GDK_WINDOWING_X11 - - static void -@@ -297,7 +328,7 @@ - ev.window = window; - ev.message_type = icon->system_tray_opcode_atom; - ev.format = 32; -- ev.data.l[0] = gdk_x11_get_server_time (GTK_WIDGET (icon)->window); -+ ev.data.l[0] = gdk_x11_get_server_time (gtk_widget_window(GTK_WIDGET(icon))); - ev.data.l[1] = message; - ev.data.l[2] = data1; - ev.data.l[3] = data2; -@@ -322,6 +353,16 @@ - 0, 0); - } - -+static gboolean -+gtk_widget_is_realized(GtkWidget *widget) -+{ -+#if GTK_CHECK_VERSION(2,90,0) -+ return gtk_widget_get_realized(widget); -+#else -+ return GTK_WIDGET_REALIZED(widget); -+#endif -+} -+ - static void - egg_tray_icon_update_manager_window (EggTrayIcon *icon, - gboolean dock_if_realized) -@@ -354,7 +395,7 @@ - - gdk_window_add_filter (gdkwin, egg_tray_icon_manager_filter, icon); - -- if (dock_if_realized && GTK_WIDGET_REALIZED (icon)) -+ if (dock_if_realized && gtk_widget_is_realized (GTK_WIDGET (icon))) - egg_tray_icon_send_dock_request (icon); - - egg_tray_icon_get_orientation_property (icon); -@@ -383,7 +424,8 @@ - static gboolean - transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) - { -- gdk_window_clear_area (widget->window, event->area.x, event->area.y, -+ (void)user_data; -+ gdk_window_clear_area (gtk_widget_window(widget), event->area.x, event->area.y, - event->area.width, event->area.height); - return FALSE; - } -@@ -392,18 +434,21 @@ - make_transparent_again (GtkWidget *widget, GtkStyle *previous_style, - gpointer user_data) - { -- gdk_window_set_back_pixmap (widget->window, NULL, TRUE); -+ (void)previous_style; -+ (void)user_data; -+ gdk_window_set_back_pixmap (gtk_widget_window(widget), NULL, TRUE); - } - - static void - make_transparent (GtkWidget *widget, gpointer user_data) - { -- if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget)) -+ if (gtk_widget_is_has_window (widget) || gtk_widget_is_app_paintable (widget)) - return; - -+ (void)user_data; - gtk_widget_set_app_paintable (widget, TRUE); - gtk_widget_set_double_buffered (widget, FALSE); -- gdk_window_set_back_pixmap (widget->window, NULL, TRUE); -+ gdk_window_set_back_pixmap (gtk_widget_window(widget), NULL, TRUE); - g_signal_connect (widget, "expose_event", - G_CALLBACK (transparent_expose_event), NULL); - g_signal_connect_after (widget, "style_set", ---- libegg.orig/source/eggtrayicon-impl.h 2010-05-29 21:27:29.000000000 +0100 -+++ libegg/source/eggtrayicon-impl.h 2010-05-30 12:46:49.000000000 +0100 -@@ -21,7 +21,7 @@ - #ifndef __EGG_TRAY_ICON_IMPL_H__ - #define __EGG_TRAY_ICON_IMPL_H__ - --#include -+#include - #ifdef GDK_WINDOWING_X11 - #include - #endif ---- sfx2.orig/source/appl/shutdowniconunx.cxx 2010-05-29 21:22:29.000000000 +0100 -+++ sfx2/source/appl/shutdowniconunx.cxx 2010-05-30 12:59:35.000000000 +0100 -@@ -302,18 +302,34 @@ - gpointer ) - { - GtkRequisition req; -- GtkWidget *ebox = GTK_BIN( pTrayIcon )->child; -+ GtkWidget *ebox = gtk_bin_get_child(GTK_BIN( pTrayIcon )); - - gtk_widget_size_request( GTK_WIDGET( menu ), &req ); -+#if GTK_CHECK_VERSION(2,90,0) -+ gdk_window_get_origin( gtk_widget_get_window(ebox), x, y ); -+ -+ GtkAllocation allocation; -+ gtk_widget_get_allocation(ebox, &allocation); -+ -+ (*x) += allocation.x; -+ (*y) += allocation.y; -+#else - gdk_window_get_origin( ebox->window, x, y ); - - (*x) += ebox->allocation.x; - (*y) += ebox->allocation.y; -+#endif - - if (*y >= gdk_screen_get_height (gtk_widget_get_screen (ebox)) / 2) - (*y) -= req.height; - else -+ { -+#if GTK_CHECK_VERSION(2,90,0) -+ (*y) += allocation.height; -+#else - (*y) += ebox->allocation.height; -+#endif -+ } - - *push_in = TRUE; - } -@@ -372,8 +388,12 @@ - pTrayIcon = egg_tray_icon_new( aLabel ); - - GtkWidget *pParent = gtk_event_box_new(); -+#if GTK_CHECK_VERSION(2,90,0) -+ gtk_widget_set_tooltip_text (pParent, aLabel ); -+#else - GtkTooltips *pTooltips = gtk_tooltips_new(); - gtk_tooltips_set_tip( GTK_TOOLTIPS( pTooltips ), pParent, aLabel, NULL ); -+#endif - - GtkWidget *pIconImage = gtk_image_new(); - gtk_container_add( GTK_CONTAINER( pParent ), pIconImage ); ---- vcl.orig/unx/gtk/app/gtkdata.cxx 2010-06-14 19:51:39.500810695 +0100 -+++ vcl/unx/gtk/app/gtkdata.cxx 2010-06-15 10:07:16.669799057 +0100 -@@ -217,11 +217,12 @@ - { - gint nMonitors = gdk_screen_get_n_monitors(pScreen); - m_aXineramaScreens = std::vector(); -+ m_aXineramaScreenIndexMap = std::vector(nMonitors); - for (gint i = 0; i < nMonitors; ++i) - { - GdkRectangle dest; - gdk_screen_get_monitor_geometry(pScreen, i, &dest); -- addXineramaScreenUnique( dest.x, dest.y, dest.width, dest.height ); -+ addXineramaScreenUnique( i, dest.x, dest.y, dest.width, dest.height ); - } - m_bXinerama = m_aXineramaScreens.size() > 1; - if( ! m_aFrames.empty() ) -@@ -235,6 +236,35 @@ - } - } - -+extern "C" -+{ -+ typedef gint(* screen_get_primary_monitor)(GdkScreen *screen); -+} -+ -+int GtkSalDisplay::GetDefaultMonitorNumber() const -+{ -+ fprintf(stderr, "GtkSalDisplay::GetDefaultMonitorNumber\n"); -+ -+ GdkScreen* pScreen = gdk_display_get_screen( m_pGdkDisplay, m_nDefaultScreen ); -+#if GTK_CHECK_VERSION(2,20,0) -+ return m_aXineramaScreenIndexMap[gdk_screen_get_primary_monitor(pScreen)]; -+#else -+ static screen_get_primary_monitor sym_gdk_screen_get_primary_monitor = -+ (screen_get_primary_monitor)osl_getAsciiFunctionSymbol( GetSalData()->m_pPlugin, "gdk_screen_get_primary_monitor" ); -+ if (sym_gdk_screen_get_primary_monitor) -+ return sym_gdk_screen_get_primary_monitor( pScreen ); -+ //gdk_screen_get_primary_monitor unavailable, take the first laptop monitor as the default -+ gint nMonitors = gdk_screen_get_n_monitors(pScreen); -+ for (gint i = 0; i < nMonitors; ++i) -+ { -+ fprintf(stderr, "name is %s\n", gdk_screen_get_monitor_plug_name(pScreen, i)); -+ if (g_ascii_strncasecmp (gdk_screen_get_monitor_plug_name(pScreen, i), "LVDS", 4) == 0) -+ return m_aXineramaScreenIndexMap[i]; -+ } -+ return 0; -+#endif -+} -+ - void GtkSalDisplay::initScreen( int nScreen ) const - { - if( nScreen < 0 || nScreen >= static_cast(m_aScreens.size()) ) ---- vcl.orig/unx/inc/saldisp.hxx 2010-06-14 19:51:39.548798785 +0100 -+++ vcl/unx/inc/saldisp.hxx 2010-06-15 10:06:53.031798755 +0100 -@@ -389,6 +389,7 @@ - - bool m_bXinerama; - std::vector< Rectangle > m_aXineramaScreens; -+ std::vector< int > m_aXineramaScreenIndexMap; - std::list m_aFrames; - std::list m_aSalObjects; - -@@ -404,7 +405,7 @@ - int processRandREvent( XEvent* ); - - void doDestruct(); -- void addXineramaScreenUnique( long i_nX, long i_nY, long i_nWidth, long i_nHeight ); -+ void addXineramaScreenUnique( int i, long i_nX, long i_nY, long i_nWidth, long i_nHeight ); - public: - static SalDisplay *GetSalDisplay( Display* display ); - static BOOL BestVisual( Display *pDisp, -@@ -474,6 +475,7 @@ - XLIB_Window GetDrawable( int nScreen ) const { return getDataForScreen( nScreen ).m_aRefWindow; } - Display *GetDisplay() const { return pDisp_; } - int GetDefaultScreenNumber() const { return m_nDefaultScreen; } -+ virtual int GetDefaultMonitorNumber() const; - const Size& GetScreenSize( int nScreen ) const { return getDataForScreen( nScreen ).m_aSize; } - srv_vendor_t GetServerVendor() const { return meServerVendor; } - void SetServerVendor() { meServerVendor = sal_GetServerVendor(pDisp_); } ---- vcl.orig/unx/source/app/saldisp.cxx 2010-06-14 19:51:39.516798973 +0100 -+++ vcl/unx/source/app/saldisp.cxx 2010-06-15 10:12:39.627798619 +0100 -@@ -2592,7 +2592,7 @@ - sal::static_int_cast< unsigned int >(GetVisual(m_nDefaultScreen).GetVisualId()) ); - } - --void SalDisplay::addXineramaScreenUnique( long i_nX, long i_nY, long i_nWidth, long i_nHeight ) -+void SalDisplay::addXineramaScreenUnique( int i, long i_nX, long i_nY, long i_nWidth, long i_nHeight ) - { - // see if any frame buffers are at the same coordinates - // this can happen with weird configuration e.g. on -@@ -2607,10 +2607,12 @@ - m_aXineramaScreens[n].GetHeight() < i_nHeight ) - { - m_aXineramaScreens[n].SetSize( Size( i_nWidth, i_nHeight ) ); -+ m_aXineramaScreenIndexMap[i] = n; - } - return; - } - } -+ m_aXineramaScreenIndexMap[i] = m_aXineramaScreens.size(); - m_aXineramaScreens.push_back( Rectangle( Point( i_nX, i_nY ), Size( i_nWidth, i_nHeight ) ) ); - } - -@@ -2637,8 +2639,9 @@ - { - m_bXinerama = true; - m_aXineramaScreens = std::vector(); -+ m_aXineramaScreenIndexMap = std::vector(nFramebuffers); - for( int i = 0; i < nFramebuffers; i++ ) -- addXineramaScreenUnique( pFramebuffers[i].x, -+ addXineramaScreenUnique( i, pFramebuffers[i].x, - pFramebuffers[i].y, - pFramebuffers[i].width, - pFramebuffers[i].height ); -@@ -2654,9 +2657,10 @@ - if( nFramebuffers > 1 ) - { - m_aXineramaScreens = std::vector(); -+ m_aXineramaScreenIndexMap = std::vector(nFramebuffers); - for( int i = 0; i < nFramebuffers; i++ ) - { -- addXineramaScreenUnique( pScreens[i].x_org, -+ addXineramaScreenUnique( i, pScreens[i].x_org, - pScreens[i].y_org, - pScreens[i].width, - pScreens[i].height ); -@@ -2677,6 +2681,11 @@ - #endif // USE_XINERAMA - } - -+int SalDisplay::GetDefaultMonitorNumber() const -+{ -+ return 0; -+} -+ - void SalDisplay::registerFrame( SalFrame* pFrame ) - { - m_aFrames.push_front( pFrame ); ---- vcl.orig/unx/source/app/salsys.cxx 2010-06-14 19:51:39.515799413 +0100 -+++ vcl/unx/source/app/salsys.cxx 2010-06-14 20:28:14.281799292 +0100 -@@ -74,7 +74,7 @@ - unsigned int X11SalSystem::GetDefaultDisplayNumber() - { - SalDisplay* pSalDisp = GetX11SalData()->GetDisplay(); -- return pSalDisp->GetDefaultScreenNumber(); -+ return pSalDisp->IsXinerama() ? pSalDisp->GetDefaultMonitorNumber() : pSalDisp->GetDefaultScreenNumber(); - } - - Rectangle X11SalSystem::GetDisplayScreenPosSizePixel( unsigned int nScreen ) ---- vcl.orig/unx/inc/plugins/gtk/gtkgdi.hxx 2010-06-21 12:34:41.000000000 +0100 -+++ vcl/unx/inc/plugins/gtk/gtkgdi.hxx 2010-06-21 13:16:40.000000000 +0100 -@@ -49,7 +49,7 @@ - virtual ~GtkSalGraphics(); - - inline GtkWidget* GetGtkWidget() const { return m_pWindow; } -- inline GdkWindow* GetGdkWindow() const { return m_pWindow->window; } -+ inline GdkWindow* GetGdkWindow() const { return widget_get_window(m_pWindow); } - inline GtkSalFrame* GetGtkFrame() const { return static_cast(m_pFrame); } - void SetWindow( GtkWidget* window ) { m_pWindow = window; } - -@@ -127,7 +127,7 @@ - const clipList& rClipList, - ControlState nState, const ImplControlValue& aValue, - const OUString& rCaption ); -- BOOL NWPaintGTKComboBox( GdkDrawable* gdkDrawable, ControlType nType, ControlPart nPart, -+ BOOL NWPaintGTKComboBoxEntry( GdkDrawable* gdkDrawable, ControlType nType, ControlPart nPart, - const Rectangle& rControlRectangle, - const clipList& rClipList, - ControlState nState, const ImplControlValue& aValue, -@@ -137,11 +137,13 @@ - const clipList& rClipList, - ControlState nState, const ImplControlValue& aValue, - const OUString& rCaption ); -- BOOL NWPaintGTKListBox( GdkDrawable* gdkDrawable, ControlType nType, ControlPart nPart, -- const Rectangle& rControlRectangle, -- const clipList& rClipList, -- ControlState nState, const ImplControlValue& aValue, -- const OUString& rCaption ); -+ BOOL NWPaintGTKComboBox( GdkDrawable* gdkDrawable, -+ ControlType nType, ControlPart nPart, -+ const Rectangle& rControlRectangle, -+ const clipList& rClipList, -+ ControlState nState, -+ const ImplControlValue& aValue, -+ const OUString& rCaption ); - - BOOL NWPaintGTKToolbar( GdkDrawable* gdkDrawable, ControlType nType, ControlPart nPart, - const Rectangle& rControlRectangle, ---- vcl.orig/unx/gtk/gdi/salnativewidgets-gtk.cxx 2010-06-21 12:34:41.000000000 +0100 -+++ vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx 2010-06-21 13:19:37.000000000 +0100 -@@ -68,39 +68,45 @@ - class NWPixmapCache; - struct NWFWidgetData - { -- GtkWidget * gCacheWindow; -- GtkWidget * gDumbContainer; -+ GtkWidget * gCacheWindow; -+ GtkWidget * gDumbContainer; - -- GtkWidget * gBtnWidget; -- GtkWidget * gRadioWidget; -- GtkWidget * gRadioWidgetSibling; -- GtkWidget * gCheckWidget; -- GtkWidget * gScrollHorizWidget; -- GtkWidget * gScrollVertWidget; -- GtkWidget * gArrowWidget; -- GtkWidget * gDropdownWidget; -- GtkWidget * gEditBoxWidget; -- GtkWidget * gSpinButtonWidget; -- GtkWidget * gNotebookWidget; -- GtkWidget * gOptionMenuWidget; -- GtkWidget * gComboWidget; -- GtkWidget * gScrolledWindowWidget; -- GtkWidget * gToolbarWidget; -- GtkWidget * gToolbarButtonWidget; -- GtkWidget * gToolbarToggleWidget; -- GtkWidget * gHandleBoxWidget; -- GtkWidget * gMenubarWidget; -- GtkWidget * gMenuItemMenubarWidget; -- GtkWidget * gMenuWidget; -- GtkWidget * gMenuItemMenuWidget; -- GtkWidget * gMenuItemCheckMenuWidget; -- GtkWidget * gMenuItemRadioMenuWidget; -- GtkWidget * gImageMenuItem; -- GtkWidget * gTooltipPopup; -- GtkWidget * gProgressBar; -- GtkWidget * gTreeView; -- GtkWidget * gHScale; -- GtkWidget * gVScale; -+ GtkWidget * gBtnWidget; -+ GtkWidget * gRadioWidget; -+ GtkWidget * gRadioWidgetSibling; -+ GtkWidget * gCheckWidget; -+ GtkWidget * gScrollHorizWidget; -+ GtkWidget * gScrollVertWidget; -+ GtkWidget * gArrowWidget; -+ GtkWidget * gDropdownWidget; -+ GtkWidget * gEditBoxWidget; -+ GtkWidget * gSpinButtonWidget; -+ GtkWidget * gNotebookWidget; -+ GtkWidget * gComboBoxEntryWidget; -+ GtkWidget * gComboBoxEntry_EntryWidget; -+ GtkWidget * gComboBoxEntry_ButtonWidget; -+ GtkWidget * gComboBoxEntry_ArrowWidget; -+ GtkWidget * gComboBoxWidget; -+ GtkWidget * gComboBox_ButtonWidget; -+ GtkWidget * gComboBox_SeparatorWidget; -+ GtkWidget * gComboBox_ArrowWidget; -+ GtkWidget * gScrolledWindowWidget; -+ GtkWidget * gToolbarWidget; -+ GtkWidget * gToolbarButtonWidget; -+ GtkWidget * gToolbarToggleWidget; -+ GtkWidget * gHandleBoxWidget; -+ GtkWidget * gMenubarWidget; -+ GtkWidget * gMenuItemMenubarWidget; -+ GtkWidget * gMenuWidget; -+ GtkWidget * gMenuItemMenuWidget; -+ GtkWidget * gMenuItemCheckMenuWidget; -+ GtkWidget * gMenuItemRadioMenuWidget; -+ GtkWidget * gImageMenuItem; -+ GtkWidget * gTooltipPopup; -+ GtkWidget * gProgressBar; -+ GtkWidget * gTreeView; -+ GtkWidget * gHScale; -+ GtkWidget * gVScale; - - NWPixmapCacheList* gNWPixmapCacheList; - NWPixmapCache* gCacheTabItems; -@@ -120,8 +126,14 @@ - gEditBoxWidget( NULL ), - gSpinButtonWidget( NULL ), - gNotebookWidget( NULL ), -- gOptionMenuWidget( NULL ), -- gComboWidget( NULL ), -+ gComboBoxEntryWidget( NULL ), -+ gComboBoxEntry_EntryWidget( NULL ), -+ gComboBoxEntry_ButtonWidget( NULL ), -+ gComboBoxEntry_ArrowWidget( NULL ), -+ gComboBoxWidget( NULL ), -+ gComboBox_ButtonWidget( NULL ), -+ gComboBox_SeparatorWidget( NULL ), -+ gComboBox_ArrowWidget( NULL ), - gScrolledWindowWidget( NULL ), - gToolbarWidget( NULL ), - gToolbarButtonWidget( NULL ), -@@ -148,29 +160,29 @@ - // Keep a hash table of Widgets->default flags so that we can - // easily and quickly reset each to a default state before using - // them --static std::hash_map gWidgetDefaultFlags; -+static std::hash_map gWidgetDefaultFlags; - static std::vector gWidgetData; - --static const GtkBorder aDefDefBorder = { 1, 1, 1, 1 }; -+static const GtkBorder aDefDefBorder = { 1, 1, 1, 1 }; - - // Some GTK defaults --#define MIN_ARROW_SIZE 11 --#define BTN_CHILD_SPACING 1 --#define MIN_SPIN_ARROW_WIDTH 6 -- -- --static void NWEnsureGTKRadio ( int nScreen ); --static void NWEnsureGTKButton ( int nScreen ); --static void NWEnsureGTKCheck ( int nScreen ); --static void NWEnsureGTKScrollbars ( int nScreen ); --static void NWEnsureGTKArrow ( int nScreen ); --static void NWEnsureGTKEditBox ( int nScreen ); --static void NWEnsureGTKSpinButton ( int nScreen ); --static void NWEnsureGTKNotebook ( int nScreen ); --static void NWEnsureGTKOptionMenu ( int nScreen ); --static void NWEnsureGTKCombo ( int nScreen ); --static void NWEnsureGTKScrolledWindow ( int nScreen ); --static void NWEnsureGTKToolbar ( int nScreen ); -+#define MIN_ARROW_SIZE 11 -+#define BTN_CHILD_SPACING 1 -+#define MIN_SPIN_ARROW_WIDTH 6 -+ -+ -+static void NWEnsureGTKRadio ( int nScreen ); -+static void NWEnsureGTKButton ( int nScreen ); -+static void NWEnsureGTKCheck ( int nScreen ); -+static void NWEnsureGTKScrollbars ( int nScreen ); -+static void NWEnsureGTKArrow ( int nScreen ); -+static void NWEnsureGTKEditBox ( int nScreen ); -+static void NWEnsureGTKSpinButton ( int nScreen ); -+static void NWEnsureGTKNotebook ( int nScreen ); -+static void NWEnsureGTKComboBoxEntry ( int nScreen ); -+static void NWEnsureGTKComboBox ( int nScreen ); -+static void NWEnsureGTKScrolledWindow ( int nScreen ); -+static void NWEnsureGTKToolbar ( int nScreen ); - static void NWEnsureGTKMenubar ( int nScreen ); - static void NWEnsureGTKMenu ( int nScreen ); - static void NWEnsureGTKTooltip ( int nScreen ); -@@ -210,14 +222,10 @@ - ControlState nState, const ImplControlValue& aValue, - const OUString& rCaption ); - //--- --static Rectangle NWGetComboBoxButtonRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState, -+static Rectangle NWGetComboBoxEntryButtonRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState, - const ImplControlValue& aValue, const OUString& rCaption ); - --//--- --static Rectangle NWGetListBoxButtonRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState, -- const ImplControlValue& aValue, const OUString& rCaption ); -- --static Rectangle NWGetListBoxIndicatorRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState, -+static Rectangle NWGetComboBoxButtonRect( int nScreen, ControlType nType, ControlPart nPart, Rectangle aAreaRect, ControlState nState, - const ImplControlValue& aValue, const OUString& rCaption ); - - static Rectangle NWGetToolbarRect( int nScreen, -@@ -229,7 +237,7 @@ - const OUString& rCaption ); - //--- - --static Rectangle NWGetScrollButtonRect( int nScreen, ControlPart nPart, Rectangle aAreaRect ); -+static Rectangle NWGetScrollButtonRect( int nScreen, ControlPart nPart, Rectangle aAreaRect ); - //--- - - /********************************************************* -@@ -298,7 +306,6 @@ - g_object_ref( m_pixmap ); - } - -- - NWPixmapCache::NWPixmapCache( int nScreen ) - { - m_idx = 0; -@@ -308,25 +315,25 @@ - if( gWidgetData[m_screen].gNWPixmapCacheList ) - gWidgetData[m_screen].gNWPixmapCacheList->AddCache(this); - } -+ - NWPixmapCache::~NWPixmapCache() - { - if( gWidgetData[m_screen].gNWPixmapCacheList ) - gWidgetData[m_screen].gNWPixmapCacheList->RemoveCache(this); - delete[] pData; - } -+ - void NWPixmapCache::ThemeChanged() - { - // throw away cached pixmaps -- int i; -- for(i=0; i::iterator p; -@@ -366,6 +373,7 @@ - if( p != mCaches.end() ) - mCaches.erase( p ); - } -+ - void NWPixmapCacheList::ThemeChanged( ) - { - ::std::vector< NWPixmapCache* >::iterator p = mCaches.begin(); -@@ -382,10 +390,10 @@ - *********************************************************/ - inline void NW_gtk_border_set_from_border( GtkBorder& aDst, const GtkBorder * pSrc ) - { -- aDst.left = pSrc->left; -- aDst.top = pSrc->top; -- aDst.right = pSrc->right; -- aDst.bottom = pSrc->bottom; -+ aDst.left = pSrc->left; -+ aDst.top = pSrc->top; -+ aDst.right = pSrc->right; -+ aDst.bottom = pSrc->bottom; - } - - -@@ -536,40 +544,40 @@ - BOOL GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nPart ) - { - if ( -- ((nType==CTRL_PUSHBUTTON) && (nPart==PART_ENTIRE_CONTROL)) || -- ((nType==CTRL_RADIOBUTTON) && (nPart==PART_ENTIRE_CONTROL)) || -- ((nType==CTRL_CHECKBOX) && (nPart==PART_ENTIRE_CONTROL)) || -+ ((nType==CTRL_PUSHBUTTON) && (nPart==PART_ENTIRE_CONTROL)) || -+ ((nType==CTRL_RADIOBUTTON) && (nPart==PART_ENTIRE_CONTROL)) || -+ ((nType==CTRL_CHECKBOX) && (nPart==PART_ENTIRE_CONTROL)) || - ((nType==CTRL_SCROLLBAR) && - ( (nPart==PART_DRAW_BACKGROUND_HORZ) - || (nPart==PART_DRAW_BACKGROUND_VERT) - || (nPart==PART_ENTIRE_CONTROL) -- || (nPart==HAS_THREE_BUTTONS) ) ) || -+ || (nPart==HAS_THREE_BUTTONS) ) ) || - ((nType==CTRL_EDITBOX) && - ( (nPart==PART_ENTIRE_CONTROL) -- || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || -+ || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || - ((nType==CTRL_MULTILINE_EDITBOX) && - ( (nPart==PART_ENTIRE_CONTROL) -- || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || -+ || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || - ((nType==CTRL_SPINBOX) && - ( (nPart==PART_ENTIRE_CONTROL) - || (nPart==PART_ALL_BUTTONS) -- || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || -+ || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || - ((nType==CTRL_SPINBUTTONS) && - ( (nPart==PART_ENTIRE_CONTROL) -- || (nPart==PART_ALL_BUTTONS) ) ) || -+ || (nPart==PART_ALL_BUTTONS) ) ) || - ((nType==CTRL_COMBOBOX) && - ( (nPart==PART_ENTIRE_CONTROL) -- || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || -+ || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || - (((nType==CTRL_TAB_ITEM) || (nType==CTRL_TAB_PANE) || - (nType==CTRL_TAB_BODY) || (nType==CTRL_FIXEDBORDER)) && - ( (nPart==PART_ENTIRE_CONTROL) -- || (nPart==PART_TABS_DRAW_RTL) ) ) || -+ || (nPart==PART_TABS_DRAW_RTL) ) ) || - ((nType==CTRL_LISTBOX) && - ( (nPart==PART_ENTIRE_CONTROL) - || (nPart==PART_WINDOW) -- || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || -+ || (nPart==HAS_BACKGROUND_TEXTURE) ) ) || - ((nType == CTRL_TOOLBAR) && -- ( (nPart==PART_ENTIRE_CONTROL) -+ ( (nPart==PART_ENTIRE_CONTROL) - || (nPart==PART_DRAW_BACKGROUND_HORZ) - || (nPart==PART_DRAW_BACKGROUND_VERT) - || (nPart==PART_THUMB_HORZ) -@@ -638,7 +646,7 @@ - gtk_widget_style_get( gWidgetData[m_nScreen].gScrollHorizWidget, "has-forward-stepper", &has_forward, - "has-secondary-forward-stepper", &has_forward2, - "has-backward-stepper", &has_backward, -- "has-secondary-backward-stepper", &has_backward2, (char *)NULL ); -+ "has-secondary-backward-stepper", &has_backward2, (char *)NULL ); - Rectangle aForward; - Rectangle aBackward; - -@@ -738,7 +746,7 @@ - return drawNativeMixedStateCheck( nType, nPart, rControlRegion, nState, aValue, rCaption ); - } - -- BOOL returnVal = FALSE; -+ BOOL returnVal = FALSE; - // get a GC with current clipping region set - SelectFont(); - -@@ -828,12 +836,9 @@ - { - returnVal = NWPaintGTKSpinBox( nType, nPart, aCtrlRect, aClip, nState, aValue, rCaption ); - } -- else if ( (nType == CTRL_COMBOBOX) && -- ( (nPart==PART_ENTIRE_CONTROL) -- ||(nPart==PART_BUTTON_DOWN) -- ) ) -+ else if ( (nType == CTRL_COMBOBOX) && ((nPart==PART_ENTIRE_CONTROL) || (nPart==PART_BUTTON_DOWN)) ) - { -- returnVal = NWPaintGTKComboBox( gdkDrawable, nType, nPart, aCtrlRect, aClip, nState, aValue, rCaption ); -+ returnVal = NWPaintGTKComboBoxEntry( gdkDrawable, nType, nPart, aCtrlRect, aClip, nState, aValue, rCaption ); - } - else if ( (nType==CTRL_TAB_ITEM) || (nType==CTRL_TAB_PANE) || (nType==CTRL_TAB_BODY) || (nType==CTRL_FIXEDBORDER) ) - { -@@ -844,7 +849,7 @@ - } - else if ( (nType==CTRL_LISTBOX) && ((nPart==PART_ENTIRE_CONTROL) || (nPart==PART_WINDOW)) ) - { -- returnVal = NWPaintGTKListBox( gdkDrawable, nType, nPart, aCtrlRect, aClip, nState, aValue, rCaption ); -+ returnVal = NWPaintGTKComboBox( gdkDrawable, nType, nPart, aCtrlRect, aClip, nState, aValue, rCaption ); - } - else if ( (nType== CTRL_TOOLBAR) ) - { -@@ -1001,7 +1006,7 @@ - } - if ( (nType==CTRL_COMBOBOX) && ((nPart==PART_BUTTON_DOWN) || (nPart==PART_SUB_EDIT)) ) - { -- rNativeBoundingRegion = NWGetComboBoxButtonRect( m_nScreen, nType, nPart, rControlRegion, nState, -+ rNativeBoundingRegion = NWGetComboBoxEntryButtonRect( m_nScreen, nType, nPart, rControlRegion, nState, - aValue, rCaption ); - rNativeContentRegion = rNativeBoundingRegion; - -@@ -1018,7 +1023,7 @@ - } - if ( (nType==CTRL_LISTBOX) && ((nPart==PART_BUTTON_DOWN) || (nPart==PART_SUB_EDIT)) ) - { -- rNativeBoundingRegion = NWGetListBoxButtonRect( m_nScreen, nType, nPart, rControlRegion, nState, -+ rNativeBoundingRegion = NWGetComboBoxButtonRect( m_nScreen, nType, nPart, rControlRegion, nState, - aValue, rCaption ); - rNativeContentRegion = rNativeBoundingRegion; - -@@ -1148,16 +1153,16 @@ - ControlState nState, const ImplControlValue&, - const OUString& ) - { -- GtkStateType stateType; -- GtkShadowType shadowType; -- gboolean interiorFocus; -- gint focusWidth; -- gint focusPad; -- BOOL bDrawFocus = TRUE; -- gint x, y, w, h; -- GtkBorder aDefBorder; -- GtkBorder* pBorder; -- GdkRectangle clipRect; -+ GtkStateType stateType; -+ GtkShadowType shadowType; -+ gboolean interiorFocus; -+ gint focusWidth; -+ gint focusPad; -+ BOOL bDrawFocus = TRUE; -+ gint x, y, w, h; -+ GtkBorder aDefBorder; -+ GtkBorder* pBorder; -+ GdkRectangle clipRect; - - NWEnsureGTKButton( m_nScreen ); - NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); -@@ -1168,10 +1173,10 @@ - h = rControlRectangle.GetHeight(); - - // Grab some button style attributes -- gtk_widget_style_get( gWidgetData[m_nScreen].gBtnWidget, "focus-line-width", &focusWidth, -- "focus-padding", &focusPad, -- "interior_focus", &interiorFocus, -- "default_border", &pBorder, -+ gtk_widget_style_get( gWidgetData[m_nScreen].gBtnWidget, "focus-line-width", &focusWidth, -+ "focus-padding", &focusPad, -+ "interior_focus", &interiorFocus, -+ "default_border", &pBorder, - (char *)NULL ); - - // Make sure the border values exist, otherwise use some defaults -@@ -1261,21 +1266,21 @@ - ControlType, ControlPart, Rectangle aAreaRect, ControlState nState, - const ImplControlValue&, const OUString& ) - { -- gboolean interiorFocus; -- gint focusWidth; -- gint focusPad; -- GtkBorder aDefBorder; -- GtkBorder * pBorder; -- BOOL bDrawFocus = TRUE; -- Rectangle aRect; -- gint x, y, w, h; -+ gboolean interiorFocus; -+ gint focusWidth; -+ gint focusPad; -+ GtkBorder aDefBorder; -+ GtkBorder * pBorder; -+ BOOL bDrawFocus = TRUE; -+ Rectangle aRect; -+ gint x, y, w, h; - - NWEnsureGTKButton( nScreen ); - gtk_widget_style_get( gWidgetData[nScreen].gBtnWidget, -- "focus-line-width", &focusWidth, -- "focus-padding", &focusPad, -- "interior_focus", &interiorFocus, -- "default_border", &pBorder, -+ "focus-line-width", &focusWidth, -+ "focus-padding", &focusPad, -+ "interior_focus", &interiorFocus, -+ "default_border", &pBorder, - (char *)NULL ); - - // Make sure the border values exist, otherwise use some defaults -@@ -1318,11 +1323,11 @@ - const ImplControlValue& aValue, - const OUString& ) - { -- GtkStateType stateType; -- GtkShadowType shadowType; -- BOOL isChecked = (aValue.getTristateVal()==BUTTONVALUE_ON); -+ GtkStateType stateType; -+ GtkShadowType shadowType; -+ BOOL isChecked = (aValue.getTristateVal()==BUTTONVALUE_ON); - gint x, y; -- GdkRectangle clipRect; -+ GdkRectangle clipRect; - - NWEnsureGTKButton( m_nScreen ); - NWEnsureGTKRadio( m_nScreen ); -@@ -1376,11 +1381,11 @@ - const ImplControlValue& aValue, - const OUString& ) - { -- GtkStateType stateType; -- GtkShadowType shadowType; -- BOOL isChecked = (aValue.getTristateVal()==BUTTONVALUE_ON) ? TRUE : FALSE; -- GdkRectangle clipRect; -- gint x,y; -+ GtkStateType stateType; -+ GtkShadowType shadowType; -+ BOOL isChecked = (aValue.getTristateVal()==BUTTONVALUE_ON) ? TRUE : FALSE; -+ GdkRectangle clipRect; -+ gint x,y; - - NWEnsureGTKButton( m_nScreen ); - NWEnsureGTKCheck( m_nScreen ); -@@ -1497,7 +1502,7 @@ - gtk_widget_style_get( gWidgetData[m_nScreen].gScrollHorizWidget, "has-forward-stepper", &has_forward, - "has-secondary-forward-stepper", &has_forward2, - "has-backward-stepper", &has_backward, -- "has-secondary-backward-stepper", &has_backward2, (char *)NULL ); -+ "has-secondary-backward-stepper", &has_backward2, (char *)NULL ); - gint magic = trough_border ? 1 : 0; - gint nFirst = 0; - -@@ -1677,7 +1682,7 @@ - if ( has_backward ) - { - NWConvertVCLStateToGTKState( pScrollbarVal->mnButton1State, &stateType, &shadowType ); -- if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; -+ if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; - gtk_paint_box( style, gdkDrawable, stateType, shadowType, - gdkRect, GTK_WIDGET(scrollbarWidget), "stepper", - x+hShim+button11BoundRect.Left(), y+vShim+button11BoundRect.Top(), -@@ -1692,7 +1697,7 @@ - if ( has_forward2 ) - { - NWConvertVCLStateToGTKState( pScrollbarVal->mnButton2State, &stateType, &shadowType ); -- if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; -+ if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; - gtk_paint_box( style, gdkDrawable, stateType, shadowType, - gdkRect, GTK_WIDGET(scrollbarWidget), "stepper", - x+hShim+button12BoundRect.Left(), y+vShim+button12BoundRect.Top(), -@@ -1708,7 +1713,7 @@ - if ( has_backward2 ) - { - NWConvertVCLStateToGTKState( pScrollbarVal->mnButton1State, &stateType, &shadowType ); -- if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; -+ if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; - gtk_paint_box( style, gdkDrawable, stateType, shadowType, gdkRect, - GTK_WIDGET(scrollbarWidget), "stepper", - x+hShim+button21BoundRect.Left(), y+vShim+button21BoundRect.Top(), -@@ -1723,7 +1728,7 @@ - if ( has_forward ) - { - NWConvertVCLStateToGTKState( pScrollbarVal->mnButton2State, &stateType, &shadowType ); -- if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; -+ if ( stateType == GTK_STATE_INSENSITIVE ) stateType = GTK_STATE_NORMAL; - gtk_paint_box( style, gdkDrawable, stateType, shadowType, gdkRect, - GTK_WIDGET(scrollbarWidget), "stepper", - x+hShim+button22BoundRect.Left(), y+vShim+button22BoundRect.Top(), -@@ -1748,7 +1753,7 @@ - - //--- - --static Rectangle NWGetScrollButtonRect( int nScreen, ControlPart nPart, Rectangle aAreaRect ) -+static Rectangle NWGetScrollButtonRect( int nScreen, ControlPart nPart, Rectangle aAreaRect ) - { - gint slider_width; - gint stepper_size; -@@ -1762,7 +1767,7 @@ - "slider-width", &slider_width, - "stepper-size", &stepper_size, - "trough-border", &trough_border, -- "stepper-spacing", &stepper_spacing, (char *)NULL ); -+ "stepper-spacing", &stepper_spacing, (char *)NULL ); - - gboolean has_forward; - gboolean has_forward2; -@@ -1773,7 +1778,7 @@ - "has-forward-stepper", &has_forward, - "has-secondary-forward-stepper", &has_forward2, - "has-backward-stepper", &has_backward, -- "has-secondary-backward-stepper", &has_backward2, (char *)NULL ); -+ "has-secondary-backward-stepper", &has_backward2, (char *)NULL ); - gint buttonWidth; - gint buttonHeight; - Rectangle buttonRect; -@@ -1839,7 +1844,7 @@ - const ImplControlValue& aValue, - const OUString& rCaption ) - { -- Rectangle pixmapRect; -+ Rectangle pixmapRect; - GdkRectangle clipRect; - - // Find the overall bounding rect of the buttons's drawing area, -@@ -1872,16 +1877,16 @@ - const ImplControlValue&, - const OUString& ) - { -- Rectangle pixmapRect = aAreaRect; -- gboolean interiorFocus; -- gint focusWidth; -+ Rectangle pixmapRect = aAreaRect; -+ gboolean interiorFocus; -+ gint focusWidth; - - NWEnsureGTKEditBox( nScreen ); - - // Grab some entry style attributes - gtk_widget_style_get( gWidgetData[nScreen].gEditBoxWidget, -- "focus-line-width", &focusWidth, -- "interior-focus", &interiorFocus, (char *)NULL ); -+ "focus-line-width", &focusWidth, -+ "interior-focus", &interiorFocus, (char *)NULL ); - - if ( !interiorFocus ) - { -@@ -1898,24 +1903,24 @@ - * All coordinates should be local to the Pixmap, NOT - * screen/window coordinates. - */ --static void NWPaintOneEditBox( int nScreen, -+static void NWPaintOneEditBox( int nScreen, - GdkDrawable * gdkDrawable, -- GdkRectangle * gdkRect, -- ControlType nType, -+ GdkRectangle * gdkRect, -+ ControlType nType, - ControlPart, -- Rectangle aEditBoxRect, -- ControlState nState, -+ Rectangle aEditBoxRect, -+ ControlState nState, - const ImplControlValue&, - const OUString& ) - { -- GtkStateType stateType; -- GtkShadowType shadowType; -+ GtkStateType stateType; -+ GtkShadowType shadowType; - GtkWidget *widget; - - NWEnsureGTKButton( nScreen ); - NWEnsureGTKEditBox( nScreen ); - NWEnsureGTKSpinButton( nScreen ); -- NWEnsureGTKCombo( nScreen ); -+ NWEnsureGTKComboBoxEntry( nScreen ); - NWEnsureGTKScrolledWindow( nScreen ); - NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); - -@@ -1928,14 +1933,13 @@ - case CTRL_SPINBOX: - widget = gWidgetData[nScreen].gSpinButtonWidget; - break; -- - case CTRL_MULTILINE_EDITBOX: - widget = gWidgetData[nScreen].gScrolledWindowWidget; - break; -+ case CTRL_LISTBOX: - case CTRL_COMBOBOX: -- widget = GTK_COMBO(gWidgetData[nScreen].gComboWidget)->entry; -+ widget = gWidgetData[nScreen].gComboBoxEntry_EntryWidget; - break; -- - default: - widget = gWidgetData[nScreen].gEditBoxWidget; - break; -@@ -2067,14 +2071,14 @@ - - static Rectangle NWGetSpinButtonRect( int nScreen, - ControlType, -- ControlPart nPart, -- Rectangle aAreaRect, -+ ControlPart nPart, -+ Rectangle aAreaRect, - ControlState, - const ImplControlValue&, - const OUString& ) - { -- gint buttonSize; -- Rectangle buttonRect; -+ gint buttonSize; -+ Rectangle buttonRect; - - NWEnsureGTKSpinButton( nScreen ); - -@@ -2151,7 +2155,9 @@ - - //------------------------------------- - --BOOL GtkSalGraphics::NWPaintGTKComboBox( GdkDrawable* gdkDrawable, -+#define ARROW_EXTENT 0.7 -+ -+BOOL GtkSalGraphics::NWPaintGTKComboBoxEntry( GdkDrawable* gdkDrawable, - ControlType nType, ControlPart nPart, - const Rectangle& rControlRectangle, - const clipList& rClipList, -@@ -2159,17 +2165,16 @@ - const ImplControlValue& aValue, - const OUString& rCaption ) - { -- Rectangle pixmapRect; -- Rectangle buttonRect; -- GtkStateType stateType; -- GtkShadowType shadowType; -- Rectangle arrowRect; -- gint x,y; -- GdkRectangle clipRect; -+ Rectangle pixmapRect; -+ Rectangle buttonRect; -+ GtkStateType stateType; -+ GtkShadowType shadowType; -+ Rectangle arrowRect; -+ gint x,y; -+ GdkRectangle clipRect; - - NWEnsureGTKButton( m_nScreen ); -- NWEnsureGTKArrow( m_nScreen ); -- NWEnsureGTKCombo( m_nScreen ); -+ NWEnsureGTKComboBoxEntry( m_nScreen ); - NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); - - // Find the overall bounding rect of the buttons's drawing area, -@@ -2179,17 +2184,15 @@ - y = rControlRectangle.Top(); - - NWSetWidgetState( gWidgetData[m_nScreen].gBtnWidget, nState, stateType ); -- NWSetWidgetState( gWidgetData[m_nScreen].gComboWidget, nState, stateType ); -- NWSetWidgetState( gWidgetData[m_nScreen].gArrowWidget, nState, stateType ); -+ NWSetWidgetState( gWidgetData[m_nScreen].gComboBoxEntryWidget, nState, stateType ); - -- buttonRect = NWGetComboBoxButtonRect( m_nScreen, nType, PART_BUTTON_DOWN, pixmapRect, nState, aValue, rCaption ); -+ buttonRect = NWGetComboBoxEntryButtonRect( m_nScreen, nType, PART_BUTTON_DOWN, pixmapRect, nState, aValue, rCaption ); - if( nPart == PART_BUTTON_DOWN ) - buttonRect.Left() += 1; - -- Rectangle aEditBoxRect( pixmapRect ); -+ Rectangle aEditBoxRect( pixmapRect ); - aEditBoxRect.SetSize( Size( pixmapRect.GetWidth() - buttonRect.GetWidth(), aEditBoxRect.GetHeight() ) ); - -- #define ARROW_EXTENT 0.7 - arrowRect.SetSize( Size( (gint)(MIN_ARROW_SIZE * ARROW_EXTENT), - (gint)(MIN_ARROW_SIZE * ARROW_EXTENT) ) ); - arrowRect.SetPos( Point( buttonRect.Left() + (gint)((buttonRect.GetWidth() - arrowRect.GetWidth()) / 2), -@@ -2212,14 +2215,14 @@ - x+(buttonRect.Left() - pixmapRect.Left()), - y+(buttonRect.Top() - pixmapRect.Top()), - buttonRect.GetWidth(), buttonRect.GetHeight() ); -- gtk_paint_box( GTK_COMBO(gWidgetData[m_nScreen].gComboWidget)->button->style, gdkDrawable, stateType, shadowType, -- &clipRect, GTK_COMBO(gWidgetData[m_nScreen].gComboWidget)->button, "button", -+ gtk_paint_box( gWidgetData[m_nScreen].gComboBoxEntry_ButtonWidget->style, gdkDrawable, stateType, shadowType, -+ &clipRect, gWidgetData[m_nScreen].gComboBoxEntry_ButtonWidget, "button", - x+(buttonRect.Left() - pixmapRect.Left()), - y+(buttonRect.Top() - pixmapRect.Top()), - buttonRect.GetWidth(), buttonRect.GetHeight() ); - -- gtk_paint_arrow( gWidgetData[m_nScreen].gArrowWidget->style, gdkDrawable, stateType, shadowType, -- &clipRect, gWidgetData[m_nScreen].gArrowWidget, "arrow", GTK_ARROW_DOWN, TRUE, -+ gtk_paint_arrow( gWidgetData[m_nScreen].gComboBoxEntry_ArrowWidget->style, gdkDrawable, stateType, shadowType, -+ &clipRect, gWidgetData[m_nScreen].gComboBoxEntry_ArrowWidget, "arrow", GTK_ARROW_DOWN, TRUE, - x+(arrowRect.Left() - pixmapRect.Left()), y+(arrowRect.Top() - pixmapRect.Top()), - arrowRect.GetWidth(), arrowRect.GetHeight() ); - } -@@ -2227,32 +2230,147 @@ - return( TRUE ); - } - -+BOOL GtkSalGraphics::NWPaintGTKComboBox( GdkDrawable* gdkDrawable, -+ ControlType nType, ControlPart nPart, -+ const Rectangle& rControlRectangle, -+ const clipList& rClipList, -+ ControlState nState, -+ const ImplControlValue& aValue, -+ const OUString& rCaption ) -+{ -+ Rectangle pixmapRect; -+ Rectangle buttonRect; -+ GtkStateType stateType; -+ GtkShadowType shadowType; -+ Rectangle arrowRect; -+ gint x,y; -+ GdkRectangle clipRect; -+ -+ NWEnsureGTKButton( m_nScreen ); -+ NWEnsureGTKComboBox( m_nScreen ); -+ NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); -+ -+ // Find the overall bounding rect of the buttons's drawing area, -+ // plus its actual draw rect excluding adornment -+ pixmapRect = rControlRectangle; -+ if ( nPart == PART_WINDOW ) -+ { -+ // Make the widget a _bit_ bigger -+ pixmapRect.SetPos( Point( pixmapRect.Left() - 1, -+ pixmapRect.Top() - 1 ) ); -+ pixmapRect.SetSize( Size( pixmapRect.GetWidth() + 2, -+ pixmapRect.GetHeight() + 2 ) ); -+ } -+ x = pixmapRect.Left(); -+ y = pixmapRect.Top(); -+ -+ NWSetWidgetState( gWidgetData[m_nScreen].gBtnWidget, nState, stateType ); -+ NWSetWidgetState( gWidgetData[m_nScreen].gComboBoxWidget, nState, stateType ); -+ -+ buttonRect = NWGetComboBoxButtonRect( m_nScreen, nType, PART_BUTTON_DOWN, pixmapRect, nState, aValue, rCaption ); -+ if( nPart == PART_BUTTON_DOWN ) -+ buttonRect.Left() += 1; -+ -+ arrowRect.SetSize( Size( (gint)(MIN_ARROW_SIZE * ARROW_EXTENT), -+ (gint)(MIN_ARROW_SIZE * ARROW_EXTENT) ) ); -+ arrowRect.SetPos( Point( buttonRect.Left() + (gint)((buttonRect.GetWidth() - arrowRect.GetWidth()) / 2), -+ buttonRect.Top() + (gint)((buttonRect.GetHeight() - arrowRect.GetHeight()) / 2) ) ); -+ -+ for( clipList::const_iterator it = rClipList.begin(); it != rClipList.end(); ++it ) -+ { -+ clipRect.x = it->Left(); -+ clipRect.y = it->Top(); -+ clipRect.width = it->GetWidth(); -+ clipRect.height = it->GetHeight(); -+ -+ if ( nPart != PART_WINDOW ) -+ { -+ // Buttons must paint opaque since some themes have alpha-channel enabled buttons -+ gtk_paint_flat_box( gWidgetData[m_nScreen].gBtnWidget->style, gdkDrawable, GTK_STATE_NORMAL, GTK_SHADOW_NONE, -+ &clipRect, m_pWindow, "base", -+ x+(pixmapRect.Left() - pixmapRect.Left()), -+ y+(pixmapRect.Top() - pixmapRect.Top()), -+ pixmapRect.GetWidth(), pixmapRect.GetHeight() ); -+ -+ gtk_paint_box( gWidgetData[m_nScreen].gComboBox_ButtonWidget->style, gdkDrawable, stateType, shadowType, -+ &clipRect, gWidgetData[m_nScreen].gComboBox_ButtonWidget, "button", -+ x+(pixmapRect.Left() - pixmapRect.Left()), -+ y+(pixmapRect.Top() - pixmapRect.Top()), -+ pixmapRect.GetWidth(), pixmapRect.GetHeight() ); -+ -+ gtk_paint_arrow( gWidgetData[m_nScreen].gComboBox_ArrowWidget->style, gdkDrawable, stateType, shadowType, -+ &clipRect, gWidgetData[m_nScreen].gComboBox_ArrowWidget, "arrow", GTK_ARROW_DOWN, TRUE, -+ x+(arrowRect.Left() - pixmapRect.Left()), y+(arrowRect.Top() - pixmapRect.Top()), -+ arrowRect.GetWidth(), arrowRect.GetHeight() ); -+ -+ if (gWidgetData[m_nScreen].gComboBox_SeparatorWidget) -+ { -+ gint nSeparatorWidth; -+ gboolean bWideSeparators; -+ gtk_widget_style_get(gWidgetData[m_nScreen].gComboBox_SeparatorWidget, -+ "wide-separators", &bWideSeparators, -+ "separator-width", &nSeparatorWidth, -+ NULL); -+ -+ if (bWideSeparators) -+ { -+ gtk_paint_box(gWidgetData[m_nScreen].gComboBox_SeparatorWidget->style, -+ gdkDrawable, GTK_STATE_NORMAL, GTK_SHADOW_ETCHED_OUT, -+ &clipRect, gWidgetData[m_nScreen].gComboBox_SeparatorWidget, -+ "vseparator", x+(arrowRect.Left() - pixmapRect.Left()-nSeparatorWidth), -+ y+(arrowRect.Top() - pixmapRect.Top()), nSeparatorWidth, arrowRect.GetHeight()); -+ } -+ else -+ { -+ gtk_paint_vline(gWidgetData[m_nScreen].gComboBox_SeparatorWidget->style, -+ gdkDrawable, GTK_STATE_NORMAL, &clipRect, -+ gWidgetData[m_nScreen].gComboBox_SeparatorWidget, "vseparator", -+ y+(arrowRect.Top() - pixmapRect.Top()), y+(arrowRect.Top() - pixmapRect.Top()) + arrowRect.GetHeight(), -+ x+(arrowRect.Left() - pixmapRect.Left())- -+ gWidgetData[m_nScreen].gComboBox_SeparatorWidget->style->xthickness); -+ } -+ } -+ } -+ else -+ { -+ NWEnsureGTKScrolledWindow(m_nScreen); -+ -+ gtk_paint_shadow( gWidgetData[m_nScreen].gScrolledWindowWidget->style, gdkDrawable, -+ GTK_STATE_NORMAL, GTK_SHADOW_IN, &clipRect, -+ gWidgetData[m_nScreen].gScrolledWindowWidget, "scrolled_window", -+ x, y, pixmapRect.GetWidth(), pixmapRect.GetHeight() ); -+ } -+ } -+ -+ return( TRUE ); -+} -+ - //---- - --static Rectangle NWGetComboBoxButtonRect( int nScreen, -+static Rectangle NWGetComboBoxEntryButtonRect( int nScreen, - ControlType, - ControlPart nPart, -- Rectangle aAreaRect, -+ Rectangle aAreaRect, - ControlState, - const ImplControlValue&, - const OUString& ) - { -- Rectangle aButtonRect; -- gint nArrowWidth; -+ Rectangle aButtonRect; -+ gint nArrowWidth; - gint nButtonWidth; -- gint nFocusWidth; -- gint nFocusPad; -+ gint nFocusWidth; -+ gint nFocusPad; - -- NWEnsureGTKArrow( nScreen ); -+ NWEnsureGTKComboBoxEntry ( nScreen ); - - // Grab some button style attributes -- gtk_widget_style_get( gWidgetData[nScreen].gDropdownWidget, -- "focus-line-width", &nFocusWidth, -- "focus-padding", &nFocusPad, (char *)NULL ); -+ gtk_widget_style_get( gWidgetData[nScreen].gComboBoxEntry_ButtonWidget, -+ "focus-line-width", &nFocusWidth, -+ "focus-padding", &nFocusPad, (char *)NULL ); - -- nArrowWidth = MIN_ARROW_SIZE + (GTK_MISC(gWidgetData[nScreen].gArrowWidget)->xpad * 2); -+ nArrowWidth = MIN_ARROW_SIZE + (GTK_MISC(gWidgetData[nScreen].gComboBoxEntry_ArrowWidget)->xpad * 2); - nButtonWidth = nArrowWidth + -- ((BTN_CHILD_SPACING + gWidgetData[nScreen].gDropdownWidget->style->xthickness) * 2) -+ ((BTN_CHILD_SPACING + gWidgetData[nScreen].gComboBoxEntry_ButtonWidget->style->xthickness) * 2) - + (2 * (nFocusWidth+nFocusPad)); - if( nPart == PART_BUTTON_DOWN ) - { -@@ -2262,13 +2380,73 @@ - } - else if( nPart == PART_SUB_EDIT ) - { -- NWEnsureGTKCombo( nScreen ); -- -- gint adjust_x = GTK_CONTAINER(gWidgetData[nScreen].gComboWidget)->border_width + -+ gint adjust_x = GTK_CONTAINER(gWidgetData[nScreen].gComboBoxEntryWidget)->border_width + -+ nFocusWidth + -+ nFocusPad; -+ gint adjust_y = adjust_x + gWidgetData[nScreen].gComboBoxEntryWidget->style->ythickness; -+ adjust_x += gWidgetData[nScreen].gComboBoxEntryWidget->style->xthickness; -+ aButtonRect.SetSize( Size( aAreaRect.GetWidth() - nButtonWidth - 2 * adjust_x, -+ aAreaRect.GetHeight() - 2 * adjust_y ) ); -+ Point aEditPos = aAreaRect.TopLeft(); -+ aEditPos.X() += adjust_x; -+ aEditPos.Y() += adjust_y; -+ aButtonRect.SetPos( aEditPos ); -+ } -+ -+ return( aButtonRect ); -+} -+ -+static Rectangle NWGetComboBoxButtonRect( int nScreen, -+ ControlType, -+ ControlPart nPart, -+ Rectangle aAreaRect, -+ ControlState, -+ const ImplControlValue&, -+ const OUString& ) -+{ -+ Rectangle aButtonRect; -+ gint nArrowWidth; -+ gint nButtonWidth; -+ gint nFocusWidth; -+ gint nFocusPad; -+ -+ NWEnsureGTKComboBox ( nScreen ); -+ // Grab some button style attributes -+ gtk_widget_style_get( gWidgetData[nScreen].gComboBox_ButtonWidget, -+ "focus-line-width", &nFocusWidth, -+ "focus-padding", &nFocusPad, (char *)NULL ); -+ nArrowWidth = MIN_ARROW_SIZE + (GTK_MISC(gWidgetData[nScreen].gComboBox_ArrowWidget)->xpad * 2); -+ -+ gint nSeparatorWidth = 0; -+ if (gWidgetData[nScreen].gComboBox_SeparatorWidget) -+ { -+ gboolean bWideSeparators; -+ gtk_widget_style_get(gWidgetData[nScreen].gComboBox_SeparatorWidget, -+ "wide-separators", &bWideSeparators, -+ "separator-width", &nSeparatorWidth, -+ NULL); -+ -+ if (!bWideSeparators) -+ nSeparatorWidth = gWidgetData[nScreen].gComboBox_SeparatorWidget->style->xthickness; -+ } -+ -+ nButtonWidth = nArrowWidth + nSeparatorWidth + -+ + gWidgetData[nScreen].gComboBox_ButtonWidget->style->xthickness -+ + (nFocusWidth+nFocusPad); -+ -+ if( nPart == PART_BUTTON_DOWN ) -+ { -+ aButtonRect.SetSize( Size( nButtonWidth, aAreaRect.GetHeight() ) ); -+ aButtonRect.SetPos( Point( aAreaRect.Left() + aAreaRect.GetWidth() - nButtonWidth, -+ aAreaRect.Top() ) ); -+ } -+ else if( nPart == PART_SUB_EDIT ) -+ { -+ gint adjust_x = GTK_CONTAINER(gWidgetData[nScreen].gComboBoxWidget)->border_width + - nFocusWidth + - nFocusPad; -- gint adjust_y = adjust_x + gWidgetData[nScreen].gComboWidget->style->ythickness; -- adjust_x += gWidgetData[nScreen].gComboWidget->style->xthickness; -+ gint adjust_y = adjust_x + gWidgetData[nScreen].gComboBoxWidget->style->ythickness; -+ adjust_x += gWidgetData[nScreen].gComboBoxWidget->style->xthickness; - aButtonRect.SetSize( Size( aAreaRect.GetWidth() - nButtonWidth - 2 * adjust_x, - aAreaRect.GetHeight() - 2 * adjust_y ) ); - Point aEditPos = aAreaRect.TopLeft(); -@@ -2280,6 +2458,7 @@ - return( aButtonRect ); - } - -+ - //------------------------------------- - - -@@ -2366,7 +2545,7 @@ - } - - --// gtk_widget_set_state( gWidgetData[m_nScreen].gNotebookWidget, stateType ); -+// gtk_widget_set_state( gWidgetData[m_nScreen].gNotebookWidget, stateType ); - - pixmap = gdk_pixmap_new( NULL, pixmapRect.GetWidth(), pixmapRect.GetHeight(), - GetX11SalData()->GetDisplay()->GetVisual( m_nScreen ).GetDepth() ); -@@ -2424,100 +2603,13 @@ - return bSuccess; - } - --//------------------------------------- -- --BOOL GtkSalGraphics::NWPaintGTKListBox( GdkDrawable* gdkDrawable, -- ControlType nType, ControlPart nPart, -- const Rectangle& rControlRectangle, -- const clipList& rClipList, -- ControlState nState, -- const ImplControlValue& aValue, -- const OUString& rCaption ) -+static void set_widget_orientation(GtkWidget *widget, GtkOrientation orientation) - { -- Rectangle pixmapRect; -- Rectangle widgetRect; -- Rectangle aIndicatorRect; -- GtkStateType stateType; -- GtkShadowType shadowType; -- gint bInteriorFocus; -- gint nFocusLineWidth; -- gint nFocusPadding; -- gint x,y; -- GdkRectangle clipRect; -- -- NWEnsureGTKButton( m_nScreen ); -- NWEnsureGTKOptionMenu( m_nScreen ); -- NWEnsureGTKScrolledWindow( m_nScreen ); -- NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); -- -- // Find the overall bounding rect of the buttons's drawing area, -- // plus its actual draw rect excluding adornment -- pixmapRect = rControlRectangle; -- if ( nPart == PART_WINDOW ) -- { -- // Make the widget a _bit_ bigger -- pixmapRect.SetPos( Point( pixmapRect.Left() - 1, -- pixmapRect.Top() - 1 ) ); -- pixmapRect.SetSize( Size( pixmapRect.GetWidth() + 2, -- pixmapRect.GetHeight() + 2 ) ); -- } -- -- widgetRect = pixmapRect; -- x = pixmapRect.Left(); -- y = pixmapRect.Top(); -- -- // set up references to correct drawable and cliprect -- NWSetWidgetState( gWidgetData[m_nScreen].gBtnWidget, nState, stateType ); -- NWSetWidgetState( gWidgetData[m_nScreen].gOptionMenuWidget, nState, stateType ); -- NWSetWidgetState( gWidgetData[m_nScreen].gScrolledWindowWidget, nState, stateType ); -- -- if ( nPart != PART_WINDOW ) -- { -- gtk_widget_style_get( gWidgetData[m_nScreen].gOptionMenuWidget, -- "interior_focus", &bInteriorFocus, -- "focus_line_width", &nFocusLineWidth, -- "focus_padding", &nFocusPadding, -- (char *)NULL); -- } -- -- for( clipList::const_iterator it = rClipList.begin(); it != rClipList.end(); ++it ) -- { -- clipRect.x = it->Left(); -- clipRect.y = it->Top(); -- clipRect.width = it->GetWidth(); -- clipRect.height = it->GetHeight(); -- -- if ( nPart != PART_WINDOW ) -- { -- // Listboxes must paint opaque since some themes have alpha-channel enabled bodies -- gtk_paint_flat_box( gWidgetData[m_nScreen].gBtnWidget->style, gdkDrawable, GTK_STATE_NORMAL, GTK_SHADOW_NONE, -- &clipRect, m_pWindow, "base", x, y, -- pixmapRect.GetWidth(), pixmapRect.GetHeight() ); -- gtk_paint_box( gWidgetData[m_nScreen].gOptionMenuWidget->style, gdkDrawable, stateType, shadowType, &clipRect, -- gWidgetData[m_nScreen].gOptionMenuWidget, "optionmenu", -- x+(widgetRect.Left() - pixmapRect.Left()), -- y+(widgetRect.Top() - pixmapRect.Top()), -- widgetRect.GetWidth(), widgetRect.GetHeight() ); -- aIndicatorRect = NWGetListBoxIndicatorRect( m_nScreen, nType, nPart, widgetRect, nState, -- aValue, rCaption ); -- gtk_paint_tab( gWidgetData[m_nScreen].gOptionMenuWidget->style, gdkDrawable, stateType, shadowType, &clipRect, -- gWidgetData[m_nScreen].gOptionMenuWidget, "optionmenutab", -- x+(aIndicatorRect.Left() - pixmapRect.Left()), -- y+(aIndicatorRect.Top() - pixmapRect.Top()), -- aIndicatorRect.GetWidth(), aIndicatorRect.GetHeight() ); -- } -- else -- { -- shadowType = GTK_SHADOW_IN; -- -- gtk_paint_shadow( gWidgetData[m_nScreen].gScrolledWindowWidget->style, gdkDrawable, GTK_STATE_NORMAL, shadowType, -- &clipRect, gWidgetData[m_nScreen].gScrolledWindowWidget, "scrolled_window", -- x+(widgetRect.Left() - pixmapRect.Left()), y+(widgetRect.Top() - pixmapRect.Top()), -- widgetRect.GetWidth(), widgetRect.GetHeight() ); -- } -- } -- -- return( TRUE ); -+#if GTK_CHECK_VERSION(2,90,0) -+ gtk_orientable_set_orientation( GTK_ORIENTABLE(widget), orientation ); -+#else -+ gtk_toolbar_set_orientation( GTK_TOOLBAR(widget), orientation ); -+#endif - } - - BOOL GtkSalGraphics::NWPaintGTKToolbar( -@@ -2528,14 +2620,14 @@ - ControlState nState, const ImplControlValue& aValue, - const OUString& ) - { -- GtkStateType stateType; -- GtkShadowType shadowType; -- gint x, y, w, h; -+ GtkStateType stateType; -+ GtkShadowType shadowType; -+ gint x, y, w, h; - gint g_x=0, g_y=0, g_w=10, g_h=10; - bool bPaintButton = true; - GtkWidget* pButtonWidget = gWidgetData[m_nScreen].gToolbarButtonWidget; - const gchar* pButtonDetail = "button"; -- GdkRectangle clipRect; -+ GdkRectangle clipRect; - - NWEnsureGTKToolbar( m_nScreen ); - if( nPart == PART_BUTTON ) // toolbar buttons cannot focus in gtk -@@ -2557,9 +2649,9 @@ - GTK_WIDGET_SET_FLAGS( gWidgetData[m_nScreen].gToolbarWidget, GTK_SENSITIVE ); - - if( nPart == PART_DRAW_BACKGROUND_HORZ ) -- gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nScreen].gToolbarWidget), GTK_ORIENTATION_HORIZONTAL ); -+ set_widget_orientation( gWidgetData[m_nScreen].gToolbarWidget, GTK_ORIENTATION_HORIZONTAL ); - else -- gtk_toolbar_set_orientation( GTK_TOOLBAR(gWidgetData[m_nScreen].gToolbarWidget), GTK_ORIENTATION_VERTICAL ); -+ set_widget_orientation( gWidgetData[m_nScreen].gToolbarWidget, GTK_ORIENTATION_VERTICAL ); - } - // handle grip - else if( nPart == PART_THUMB_HORZ || nPart == PART_THUMB_VERT ) -@@ -2675,11 +2767,11 @@ - ControlState nState, const ImplControlValue&, - const OUString& ) - { -- GtkStateType stateType; -- GtkShadowType shadowType; -+ GtkStateType stateType; -+ GtkShadowType shadowType; - GtkShadowType selected_shadow_type = GTK_SHADOW_OUT; -- gint x, y, w, h; -- GdkRectangle clipRect; -+ gint x, y, w, h; -+ GdkRectangle clipRect; - - NWEnsureGTKMenubar( m_nScreen ); - NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); -@@ -2765,11 +2857,11 @@ - if( nPart == PART_MENU_ITEM && ! (nState & CTRL_STATE_ENABLED) ) - return FALSE; - -- GtkStateType stateType; -- GtkShadowType shadowType; -+ GtkStateType stateType; -+ GtkShadowType shadowType; - GtkShadowType selected_shadow_type = GTK_SHADOW_OUT; -- gint x, y, w, h; -- GdkRectangle clipRect; -+ gint x, y, w, h; -+ GdkRectangle clipRect; - - NWEnsureGTKMenu( m_nScreen ); - NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); -@@ -2892,8 +2984,8 @@ - { - NWEnsureGTKTooltip( m_nScreen ); - -- gint x, y, w, h; -- GdkRectangle clipRect; -+ gint x, y, w, h; -+ GdkRectangle clipRect; - - x = rControlRectangle.Left(); - y = rControlRectangle.Top(); -@@ -2935,12 +3027,12 @@ - aRect.Right() += 2; - aRect.Top() -= 2; - aRect.Bottom() += 2; -- gint w, h; -+ gint w, h; - w = aRect.GetWidth(); - h = aRect.GetHeight(); - -- GtkStateType stateType; -- GtkShadowType shadowType; -+ GtkStateType stateType; -+ GtkShadowType shadowType; - NWConvertVCLStateToGTKState( nState, &stateType, &shadowType ); - - ButtonValue aButtonValue = rValue.getTristateVal(); -@@ -2984,7 +3076,7 @@ - { - NWEnsureGTKProgressBar( m_nScreen ); - -- gint w, h; -+ gint w, h; - w = rControlRectangle.GetWidth(); - h = rControlRectangle.GetHeight(); - -@@ -3164,116 +3256,6 @@ - return bRet; - } - --//---- -- --static Rectangle NWGetListBoxButtonRect( int nScreen, -- ControlType, -- ControlPart nPart, -- Rectangle aAreaRect, -- ControlState, -- const ImplControlValue&, -- const OUString& ) --{ -- Rectangle aPartRect; -- GtkRequisition *pIndicatorSize = NULL; -- GtkBorder *pIndicatorSpacing = NULL; -- gint width = 13; // GTK+ default -- gint right = 5; // GTK+ default -- gint nButtonAreaWidth = 0; -- gint xthickness = 0; -- -- NWEnsureGTKOptionMenu( nScreen ); -- -- gtk_widget_style_get( gWidgetData[nScreen].gOptionMenuWidget, -- "indicator_size", &pIndicatorSize, -- "indicator_spacing",&pIndicatorSpacing, (char *)NULL); -- -- if ( pIndicatorSize ) -- width = pIndicatorSize->width; -- -- if ( pIndicatorSpacing ) -- right = pIndicatorSpacing->right; -- -- Size aPartSize( 0, aAreaRect.GetHeight() ); -- Point aPartPos ( 0, aAreaRect.Top() ); -- -- xthickness = gWidgetData[nScreen].gOptionMenuWidget->style->xthickness; -- nButtonAreaWidth = width + right + (xthickness * 2); -- switch( nPart ) -- { -- case PART_BUTTON_DOWN: -- aPartSize.Width() = nButtonAreaWidth; -- aPartPos.X() = aAreaRect.Left() + aAreaRect.GetWidth() - aPartSize.Width(); -- break; -- -- case PART_SUB_EDIT: -- aPartSize.Width() = aAreaRect.GetWidth() - nButtonAreaWidth - xthickness; -- aPartPos.X() = aAreaRect.Left() + xthickness; -- break; -- -- default: -- aPartSize.Width() = aAreaRect.GetWidth(); -- aPartPos.X() = aAreaRect.Left(); -- break; -- } -- aPartRect = Rectangle( aPartPos, aPartSize ); -- -- if ( pIndicatorSize ) -- gtk_requisition_free( pIndicatorSize ); -- if ( pIndicatorSpacing ) -- gtk_border_free( pIndicatorSpacing ); -- -- return( aPartRect ); --} -- --//---- -- --static Rectangle NWGetListBoxIndicatorRect( int nScreen, -- ControlType, -- ControlPart, -- Rectangle aAreaRect, -- ControlState, -- const ImplControlValue&, -- const OUString& ) --{ -- Rectangle aIndicatorRect; -- GtkRequisition *pIndicatorSize = NULL; -- GtkBorder *pIndicatorSpacing = NULL; -- gint width = 13; // GTK+ default -- gint height = 13; // GTK+ default -- gint right = 5; // GTK+ default -- -- NWEnsureGTKOptionMenu( nScreen ); -- -- gtk_widget_style_get( gWidgetData[nScreen].gOptionMenuWidget, -- "indicator_size", &pIndicatorSize, -- "indicator_spacing",&pIndicatorSpacing, (char *)NULL); -- -- if ( pIndicatorSize ) -- { -- width = pIndicatorSize->width; -- height = pIndicatorSize->height; -- } -- -- if ( pIndicatorSpacing ) -- right = pIndicatorSpacing->right; -- -- aIndicatorRect.SetSize( Size( width, height ) ); -- aIndicatorRect.SetPos( Point( aAreaRect.Left() + aAreaRect.GetWidth() - width - right - gWidgetData[nScreen].gOptionMenuWidget->style->xthickness, -- aAreaRect.Top() + ((aAreaRect.GetHeight() - height) / 2) ) ); -- -- // If height is odd, move the indicator down 1 pixel -- if ( aIndicatorRect.GetHeight() % 2 ) -- aIndicatorRect.Move( 0, 1 ); -- -- if ( pIndicatorSize ) -- gtk_requisition_free( pIndicatorSize ); -- if ( pIndicatorSpacing ) -- gtk_border_free( pIndicatorSpacing ); -- -- return( aIndicatorRect ); --} -- - static Rectangle NWGetToolbarRect( int nScreen, - ControlType, - ControlPart nPart, -@@ -3495,10 +3477,10 @@ - aStyleSet.SetMenuHighlightTextColor( aHighlightTextColor ); - - // UI font -- OString aFamily = pango_font_description_get_family( pStyle->font_desc ); -- int nPangoHeight = pango_font_description_get_size( pStyle->font_desc ); -- PangoStyle eStyle = pango_font_description_get_style( pStyle->font_desc ); -- PangoWeight eWeight = pango_font_description_get_weight( pStyle->font_desc ); -+ OString aFamily = pango_font_description_get_family( pStyle->font_desc ); -+ int nPangoHeight = pango_font_description_get_size( pStyle->font_desc ); -+ PangoStyle eStyle = pango_font_description_get_style( pStyle->font_desc ); -+ PangoWeight eWeight = pango_font_description_get_weight( pStyle->font_desc ); - PangoStretch eStretch = pango_font_description_get_stretch( pStyle->font_desc ); - - psp::FastPrintFontInfo aInfo; -@@ -3507,9 +3489,9 @@ - // set italic - switch( eStyle ) - { -- case PANGO_STYLE_NORMAL: aInfo.m_eItalic = psp::italic::Upright;break; -- case PANGO_STYLE_ITALIC: aInfo.m_eItalic = psp::italic::Italic;break; -- case PANGO_STYLE_OBLIQUE: aInfo.m_eItalic = psp::italic::Oblique;break; -+ case PANGO_STYLE_NORMAL: aInfo.m_eItalic = psp::italic::Upright;break; -+ case PANGO_STYLE_ITALIC: aInfo.m_eItalic = psp::italic::Italic;break; -+ case PANGO_STYLE_OBLIQUE: aInfo.m_eItalic = psp::italic::Oblique;break; - } - // set weight - if( eWeight <= PANGO_WEIGHT_ULTRALIGHT ) -@@ -3525,15 +3507,15 @@ - // set width - switch( eStretch ) - { -- case PANGO_STRETCH_ULTRA_CONDENSED: aInfo.m_eWidth = psp::width::UltraCondensed;break; -- case PANGO_STRETCH_EXTRA_CONDENSED: aInfo.m_eWidth = psp::width::ExtraCondensed;break; -- case PANGO_STRETCH_CONDENSED: aInfo.m_eWidth = psp::width::Condensed;break; -- case PANGO_STRETCH_SEMI_CONDENSED: aInfo.m_eWidth = psp::width::SemiCondensed;break; -- case PANGO_STRETCH_NORMAL: aInfo.m_eWidth = psp::width::Normal;break; -- case PANGO_STRETCH_SEMI_EXPANDED: aInfo.m_eWidth = psp::width::SemiExpanded;break; -- case PANGO_STRETCH_EXPANDED: aInfo.m_eWidth = psp::width::Expanded;break; -- case PANGO_STRETCH_EXTRA_EXPANDED: aInfo.m_eWidth = psp::width::ExtraExpanded;break; -- case PANGO_STRETCH_ULTRA_EXPANDED: aInfo.m_eWidth = psp::width::UltraExpanded;break; -+ case PANGO_STRETCH_ULTRA_CONDENSED: aInfo.m_eWidth = psp::width::UltraCondensed;break; -+ case PANGO_STRETCH_EXTRA_CONDENSED: aInfo.m_eWidth = psp::width::ExtraCondensed;break; -+ case PANGO_STRETCH_CONDENSED: aInfo.m_eWidth = psp::width::Condensed;break; -+ case PANGO_STRETCH_SEMI_CONDENSED: aInfo.m_eWidth = psp::width::SemiCondensed;break; -+ case PANGO_STRETCH_NORMAL: aInfo.m_eWidth = psp::width::Normal;break; -+ case PANGO_STRETCH_SEMI_EXPANDED: aInfo.m_eWidth = psp::width::SemiExpanded;break; -+ case PANGO_STRETCH_EXPANDED: aInfo.m_eWidth = psp::width::Expanded;break; -+ case PANGO_STRETCH_EXTRA_EXPANDED: aInfo.m_eWidth = psp::width::ExtraExpanded;break; -+ case PANGO_STRETCH_ULTRA_EXPANDED: aInfo.m_eWidth = psp::width::UltraExpanded;break; - } - - #if OSL_DEBUG_LEVEL > 1 -@@ -3629,7 +3611,7 @@ - g_free( pIconThemeName ); - - // FIXME: need some way of fetching toolbar icon size. --// aStyleSet.SetToolbarIconSize( STYLE_TOOLBAR_ICONSIZE_SMALL ); -+// aStyleSet.SetToolbarIconSize( STYLE_TOOLBAR_ICONSIZE_SMALL ); - - const cairo_font_options_t* pNewOptions = NULL; - if( GdkScreen* pScreen = gdk_display_get_screen( gdk_display_get_default(), m_nScreen ) ) -@@ -3700,8 +3682,8 @@ - GdkPixmap* GtkSalGraphics::NWGetPixmapFromScreen( Rectangle srcRect ) - { - // Create a new pixmap to hold the composite of the window background and the control -- GdkPixmap * pPixmap = gdk_pixmap_new( GDK_DRAWABLE(GetGdkWindow()), srcRect.GetWidth(), srcRect.GetHeight(), -1 ); -- GdkGC * pPixmapGC = gdk_gc_new( pPixmap ); -+ GdkPixmap * pPixmap = gdk_pixmap_new( GDK_DRAWABLE(GetGdkWindow()), srcRect.GetWidth(), srcRect.GetHeight(), -1 ); -+ GdkGC * pPixmapGC = gdk_gc_new( pPixmap ); - - if( !pPixmap || !pPixmapGC ) - { -@@ -3902,7 +3884,7 @@ - NWAddWidgetToCacheWindow( gWidgetData[nScreen].gDropdownWidget, nScreen ); - gWidgetData[nScreen].gArrowWidget = gtk_arrow_new( GTK_ARROW_DOWN, GTK_SHADOW_OUT ); - gtk_container_add( GTK_CONTAINER(gWidgetData[nScreen].gDropdownWidget), gWidgetData[nScreen].gArrowWidget ); -- gtk_widget_set_rc_style( gWidgetData[nScreen].gArrowWidget ); -+ gtk_widget_set_style( gWidgetData[nScreen].gArrowWidget, NULL ); - gtk_widget_realize( gWidgetData[nScreen].gArrowWidget ); - } - } -@@ -3948,32 +3930,132 @@ - - //------------------------------------- - --static void NWEnsureGTKOptionMenu( int nScreen ) -+G_BEGIN_DECLS -+static void get_combo_box_entry_inner_widgets(GtkWidget *widget, gpointer client_data); -+static void get_combo_box_entry_arrow(GtkWidget *widget, gpointer client_data); -+static void get_combo_box_inner_widgets(GtkWidget *widget, gpointer client_data); -+G_END_DECLS -+ -+static void get_combo_box_entry_inner_widgets(GtkWidget *widget, gpointer client_data) -+{ -+ int nScreen = GPOINTER_TO_INT(client_data); -+ if (GTK_IS_TOGGLE_BUTTON(widget)) -+ gWidgetData[nScreen].gComboBoxEntry_ButtonWidget = widget; -+ else if (GTK_IS_ENTRY(widget)) -+ { -+ // #i59129# Setting non-editable means it doesn't blink, so -+ // there are no timeouts running around to nobble us -+ gtk_editable_set_editable(GTK_EDITABLE(widget), false); -+ gWidgetData[nScreen].gComboBoxEntry_EntryWidget = widget; -+ } -+ else -+ return; -+ gtk_widget_realize(widget); -+} -+ -+static void get_combo_box_entry_arrow(GtkWidget *widget, gpointer client_data) - { -- if ( !gWidgetData[nScreen].gOptionMenuWidget ) -+ if (GTK_IS_ARROW(widget)) - { -- gWidgetData[nScreen].gOptionMenuWidget = gtk_option_menu_new(); -- NWAddWidgetToCacheWindow( gWidgetData[nScreen].gOptionMenuWidget, nScreen ); -+ int nScreen = GPOINTER_TO_INT(client_data); -+ gWidgetData[nScreen].gComboBoxEntry_ArrowWidget = widget; -+ gtk_widget_realize(widget); - } - } - --//------------------------------------- -+static void NWEnsureGTKComboBoxEntry( int nScreen ) -+{ -+ if ( !gWidgetData[nScreen].gComboBoxEntryWidget ) -+ { -+ gWidgetData[nScreen].gComboBoxEntryWidget = gtk_combo_box_entry_new(); -+ -+ NWAddWidgetToCacheWindow( gWidgetData[nScreen].gComboBoxEntryWidget, nScreen ); -+ -+ gtk_container_forall(GTK_CONTAINER(gWidgetData[nScreen].gComboBoxEntryWidget), -+ get_combo_box_entry_inner_widgets, GINT_TO_POINTER(nScreen) ); - --static void NWEnsureGTKCombo( int nScreen ) -+ //If for some reason or other we couldn't find the expected children, -+ //alias them to some we know will definitely exist -+ if (!gWidgetData[nScreen].gComboBoxEntry_EntryWidget) -+ { -+ NWEnsureGTKEditBox( nScreen ); -+ gWidgetData[nScreen].gComboBoxEntry_EntryWidget = gWidgetData[nScreen].gEditBoxWidget; -+ } -+ if (gWidgetData[nScreen].gComboBoxEntry_ButtonWidget) -+ { -+ //Dig around for the arrow -+ GtkWidget *child = GTK_BIN(gWidgetData[nScreen].gComboBoxEntry_ButtonWidget)->child; -+ if (GTK_IS_HBOX(child)) -+ { -+ gtk_container_forall(GTK_CONTAINER(child), get_combo_box_entry_arrow, -+ GINT_TO_POINTER(nScreen) ); -+ } -+ else -+ get_combo_box_entry_arrow(child, GINT_TO_POINTER(nScreen)); -+ } -+ else -+ { -+ NWEnsureGTKArrow( nScreen ); -+ gWidgetData[nScreen].gComboBoxEntry_ButtonWidget = gWidgetData[nScreen].gDropdownWidget; -+ } -+ if (!gWidgetData[nScreen].gComboBoxEntry_ArrowWidget) -+ { -+ NWEnsureGTKArrow( nScreen ); -+ gWidgetData[nScreen].gComboBoxEntry_ArrowWidget = gWidgetData[nScreen].gArrowWidget; -+ } -+ } -+} -+ -+static void get_combo_box_inner_widgets(GtkWidget *widget, gpointer client_data) -+{ -+ int nScreen = GPOINTER_TO_INT(client_data); -+ if (GTK_IS_TOGGLE_BUTTON(widget)) -+ gWidgetData[nScreen].gComboBox_ButtonWidget = widget; -+ else if (GTK_IS_SEPARATOR(widget)) -+ gWidgetData[nScreen].gComboBox_SeparatorWidget = widget; -+ else if (GTK_IS_ARROW(widget)) -+ gWidgetData[nScreen].gComboBox_ArrowWidget = widget; -+ else -+ return; -+ gtk_widget_realize(widget); -+} -+ -+static void NWEnsureGTKComboBox( int nScreen ) - { -- if ( !gWidgetData[nScreen].gComboWidget ) -+ if ( !gWidgetData[nScreen].gComboBoxWidget ) - { -- gWidgetData[nScreen].gComboWidget = gtk_combo_new(); -+ gWidgetData[nScreen].gComboBoxWidget = gtk_combo_box_new(); - -- // #i59129# Setting non-editable means it doesn't blink, so -- // there are no timeouts running around to nobble us -- gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(gWidgetData[nScreen].gComboWidget)->entry), false); -+ NWAddWidgetToCacheWindow( gWidgetData[nScreen].gComboBoxWidget, nScreen ); -+ -+ gtk_container_forall(GTK_CONTAINER(gWidgetData[nScreen].gComboBoxWidget), -+ get_combo_box_inner_widgets, GINT_TO_POINTER(nScreen) ); - -- NWAddWidgetToCacheWindow( gWidgetData[nScreen].gComboWidget, nScreen ); -- // Must realize the ComboBox's children, since GTK -- // does not do this for us in GtkCombo::gtk_widget_realize() -- gtk_widget_realize( GTK_COMBO(gWidgetData[nScreen].gComboWidget)->button ); -- gtk_widget_realize( GTK_COMBO(gWidgetData[nScreen].gComboWidget)->entry ); -+ //If for some reason or other we couldn't find the expected children, -+ //alias them to some we know will definitely exist -+ if (gWidgetData[nScreen].gComboBox_ButtonWidget) -+ { -+ //Dig around for the arrow -+ GtkWidget *child = GTK_BIN(gWidgetData[nScreen].gComboBox_ButtonWidget)->child; -+ if (GTK_IS_HBOX(child)) -+ { -+ gtk_container_forall(GTK_CONTAINER(child), get_combo_box_inner_widgets, -+ GINT_TO_POINTER(nScreen) ); -+ } -+ else -+ get_combo_box_inner_widgets(child, GINT_TO_POINTER(nScreen)); -+ } -+ else -+ { -+ NWEnsureGTKArrow( nScreen ); -+ gWidgetData[nScreen].gComboBox_ButtonWidget = gWidgetData[nScreen].gDropdownWidget; -+ } -+ -+ if (!gWidgetData[nScreen].gComboBox_ArrowWidget) -+ { -+ NWEnsureGTKArrow( nScreen ); -+ gWidgetData[nScreen].gComboBox_ArrowWidget = gWidgetData[nScreen].gArrowWidget; -+ } - } - } - -@@ -4130,3 +4212,5 @@ - NWAddWidgetToCacheWindow( gWidgetData[nScreen].gVScale, nScreen ); - } - } -+ -+/* vi:set tabstop=4 shiftwidth=4 expandtab: */ ---- vcl.orig/unx/gtk/window/gtkobject.cxx 2010-05-26 17:30:44.000000000 +0100 -+++ vcl/unx/gtk/window/gtkobject.cxx 2010-07-01 10:45:41.000000000 +0100 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - - GtkSalObject::GtkSalObject( GtkSalFrame* pParent, BOOL bShow ) - : m_pSocket( NULL ), -@@ -58,7 +59,7 @@ - SalDisplay* pDisp = GetX11SalData()->GetDisplay(); - m_aSystemData.nSize = sizeof( SystemChildData ); - m_aSystemData.pDisplay = pDisp->GetDisplay(); -- m_aSystemData.aWindow = GDK_WINDOW_XWINDOW(m_pSocket->window); -+ m_aSystemData.aWindow = GDK_WINDOW_XWINDOW(widget_get_window(m_pSocket)); - m_aSystemData.pSalFrame = NULL; - m_aSystemData.pWidget = m_pSocket; - m_aSystemData.pVisual = pDisp->GetVisual(pParent->getScreenNumber()).GetVisual(); -@@ -66,7 +67,7 @@ - m_aSystemData.nDepth = pDisp->GetVisual(pParent->getScreenNumber()).GetDepth(); - m_aSystemData.aColormap = pDisp->GetColormap(pParent->getScreenNumber()).GetXColormap(); - m_aSystemData.pAppContext = NULL; -- m_aSystemData.aShellWindow = GDK_WINDOW_XWINDOW(GTK_WIDGET(pParent->getWindow())->window); -+ m_aSystemData.aShellWindow = GDK_WINDOW_XWINDOW(widget_get_window(GTK_WIDGET(pParent->getWindow()))); - m_aSystemData.pShellWidget = GTK_WIDGET(pParent->getWindow()); - - g_signal_connect( G_OBJECT(m_pSocket), "button-press-event", G_CALLBACK(signalButton), this ); ---- fpicker.orig/source/unx/gnome/SalGtkPicker.cxx 2010-05-26 17:30:44.000000000 +0100 -+++ fpicker/source/unx/gnome/SalGtkPicker.cxx 2010-07-01 12:51:05.000000000 +0100 -@@ -155,7 +157,11 @@ - if (pParent) - { - gtk_widget_realize(mpDialog); -+#if GTK_CHECK_VERSION(2,90,0) -+ gdk_window_set_transient_for(gtk_widget_get_window(mpDialog), pParent); -+#else - gdk_window_set_transient_for(mpDialog->window, pParent); -+#endif - } - } - ---- extensions.orig/source/plugin/unx/npnapi.cxx 2010-07-01 13:42:35.000000000 +0100 -+++ extensions/source/plugin/unx/npnapi.cxx 2010-07-01 13:44:46.000000000 +0100 -@@ -701,8 +701,11 @@ - pInst->window.window = (void *)gtk_socket_get_id( GTK_SOCKET(pInst->pGtkWidget ) ); - - XSync( pAppDisplay, False ); -- -+#if GTK_CHECK_VERSION(2,90,0) -+ XMapWindow( pAppDisplay, GDK_WINDOW_XWINDOW(gtk_widget_get_window(pInst->pGtkWindow)) ); -+#else - XMapWindow( pAppDisplay, GDK_WINDOW_XWINDOW(pInst->pGtkWindow->window) ); -+#endif - - XSync( pAppDisplay, False ); - } ---- vcl.orig/unx/inc/plugins/gtk/gtkdata.hxx 2010-07-07 10:20:34.000000000 +0100 -+++ vcl/unx/inc/plugins/gtk/gtkdata.hxx 2010-07-07 11:15:19.000000000 +0100 -@@ -40,6 +40,39 @@ - - #include - -+inline GdkWindow * widget_get_window(GtkWidget *widget) -+{ -+#if GTK_CHECK_VERSION(2,90,0) -+ return gtk_widget_get_window(widget); -+#else -+ return widget->window; -+#endif -+} -+ -+inline void widget_set_can_focus(GtkWidget *widget, gboolean can_focus) -+{ -+#if GTK_CHECK_VERSION(2,90,0) -+ return gtk_widget_set_can_focus(widget, can_focus); -+#else -+ if (can_focus) -+ GTK_WIDGET_SET_FLAGS( widget, GTK_CAN_FOCUS ); -+ else -+ GTK_WIDGET_UNSET_FLAGS( widget, GTK_CAN_FOCUS ); -+#endif -+} -+ -+inline void widget_set_can_default(GtkWidget *widget, gboolean can_default) -+{ -+#if GTK_CHECK_VERSION(2,90,0) -+ return gtk_widget_set_can_default(widget, can_default); -+#else -+ if (can_default) -+ GTK_WIDGET_SET_FLAGS( widget, GTK_CAN_DEFAULT ); -+ else -+ GTK_WIDGET_UNSET_FLAGS( widget, GTK_CAN_DEFAULT ); -+#endif -+} -+ - class GtkData : public X11SalData - { - public: -@@ -73,6 +106,8 @@ - virtual long Dispatch( XEvent *pEvent ); - virtual void initScreen( int nScreen ) const; - -+ virtual int GetDefaultMonitorNumber() const; -+ - static GdkFilterReturn filterGdkEvent( GdkXEvent* sys_event, - GdkEvent* event, - gpointer data ); diff --git a/workspace.impress195.patch b/workspace.impress195.patch deleted file mode 100644 index d08eaaf..0000000 --- a/workspace.impress195.patch +++ /dev/null @@ -1,287 +0,0 @@ -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(), new WorkWindow(NULL,WB_STDWORK))) -+ mxLocalPane(new Pane(Reference(), 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 mpWindow; - ::boost::shared_ptr mpViewCache; - - css::uno::Reference 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 - #include - #include -+#include - #include - #include - #include -@@ -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(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(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 - #include - -+#include -+ - #include "canvasfont.hxx" - #include "textlayout.hxx" - -@@ -66,6 +68,9 @@ - // TODO(F2): improve panose->vclenum conversion - maFont->SetWeight( static_cast(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 - -+#include -+ - #include - #include - -@@ -86,6 +88,9 @@ - // TODO(F2): improve panose->vclenum conversion - maFont->SetWeight( static_cast(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 - #include - #include -+#include - #include - #include - #include -@@ -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(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 diff --git a/workspace.srb1.patch b/workspace.srb1.patch deleted file mode 100644 index d344fdb..0000000 --- a/workspace.srb1.patch +++ /dev/null @@ -1,31 +0,0 @@ -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."); -+ } - } diff --git a/workspace.vcl113.patch b/workspace.vcl113.patch deleted file mode 100644 index e3cbb23..0000000 --- a/workspace.vcl113.patch +++ /dev/null @@ -1,490 +0,0 @@ -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 - #include - #include -+#include - - #if OSL_DEBUG_LEVEL > 1 - #include -@@ -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 > 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 {}; -+ struct theSanes : public rtl::Static {}; -+} - - // ----------------- - // - ScannerThread - -@@ -126,7 +156,7 @@ - - class ScannerThread : public vos::OThread - { -- SaneHolder* m_pHolder; -+ boost::shared_ptr 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 pHolder, - const REF( com::sun::star::lang::XEventListener )& listener, - ScannerManager* pManager ); - virtual ~ScannerThread(); -@@ -143,7 +173,7 @@ - // ----------------------------------------------------------------------------- - - ScannerThread::ScannerThread( -- SaneHolder* pHolder, -+ boost::shared_ptr 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 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 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 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 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 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 ); - } - diff --git a/workspace.vcl114.patch b/workspace.vcl114.patch deleted file mode 100644 index 02780e5..0000000 --- a/workspace.vcl114.patch +++ /dev/null @@ -1,57 +0,0 @@ -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 diff --git a/workspace.vcl115.patch b/workspace.vcl115.patch deleted file mode 100644 index 3325aa8..0000000 --- a/workspace.vcl115.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 ) - {