From 9af7fae9b1c692778cc4ccbbca3f9553259da2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Mon, 11 Oct 2010 14:48:01 +0100 Subject: [PATCH] next milestone --- .gitignore | 41 +- libreoffice.spec | 201 +- ...fice.org-2.3.0.ooo76649.httpencoding.patch | 13 - ....org-3.0.0.ooo88341.sc.verticalboxes.patch | 98 +- ...org-3.1.0.ooo102061.sc.cellanchoring.patch | 60 +- ....ooo61927.sw.ww6.unicodefontencoding.patch | 23 - ...rg-3.2.0.ooo106502.svx.fixspelltimer.patch | 13 - ...-3.2.0.ooo110142.svx.safercolornames.patch | 31 - ....ooo111741.extras.malformed-xml-file.patch | 24 - ...ice.org-3.2.0.ooo95369.sw.sortedobjs.patch | 17 - ...2236.writerfilter.cleanup-cell-props.patch | 37 - ...o100686.wizards.types.not.mediatypes.patch | 49 - ...ice.org-3.3.0.ooo106591.sal.tradcopy.patch | 83 - ...e.org-3.3.0.ooo107490.cppu.lifecycle.patch | 208 -- ...246.svx.hide-sql-group-when-inactive.patch | 97 - ...office.org-3.3.0.ooo111758.sd.xerror.patch | 21 - ....0.ooo112059.sw.avoid-null-ptr-deref.patch | 16 - ...12384.sw.export.doc.styledoesntexist.patch | 11 - ....org-3.3.0.ooo114012.sd.bada11ychain.patch | 66 - ....0.ooo114703.vcl.betterlocalize.font.patch | 30 - ...rg-3.3.0.rh637738.libgcrypt.addmutex.patch | 167 - ...3.0.rh638185.editeng.cjkctlhtmlsizes.patch | 64 - redhat-agreement.xsl | 12 - sources | 41 +- workspace.cmcfixes77.patch | 1378 -------- workspace.cmcfixes78.patch | 11 - workspace.cmcfixes79.patch | 379 --- workspace.dtardon03.patch | 286 -- workspace.gtk3.patch | 2761 ----------------- workspace.impress195.patch | 287 -- workspace.srb1.patch | 31 - workspace.vcl113.patch | 490 --- workspace.vcl114.patch | 57 - workspace.vcl115.patch | 13 - 34 files changed, 203 insertions(+), 6913 deletions(-) delete mode 100644 openoffice.org-2.3.0.ooo76649.httpencoding.patch delete mode 100644 openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch delete mode 100644 openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch delete mode 100644 openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch delete mode 100644 openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch delete mode 100644 openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch delete mode 100644 openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch delete mode 100644 openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch delete mode 100644 openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch delete mode 100644 openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch delete mode 100644 openoffice.org-3.3.0.ooo111758.sd.xerror.patch delete mode 100644 openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch delete mode 100644 openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch delete mode 100644 openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch delete mode 100644 openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch delete mode 100644 openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch delete mode 100644 openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch delete mode 100644 redhat-agreement.xsl delete mode 100644 workspace.cmcfixes77.patch delete mode 100644 workspace.cmcfixes78.patch delete mode 100644 workspace.cmcfixes79.patch delete mode 100644 workspace.dtardon03.patch delete mode 100644 workspace.gtk3.patch delete mode 100644 workspace.impress195.patch delete mode 100644 workspace.srb1.patch delete mode 100644 workspace.vcl113.patch delete mode 100644 workspace.vcl114.patch delete mode 100644 workspace.vcl115.patch 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 ) - {