next milestone

f41
Caolán McNamara 14 years ago
parent 80763257ac
commit 9af7fae9b1

41
.gitignore vendored

@ -6,25 +6,24 @@
/acor_lt.zip /acor_lt.zip
/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip /ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz /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-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

@ -27,38 +27,36 @@
Summary: Free Software Productivity Suite Summary: Free Software Productivity Suite
Name: libreoffice Name: libreoffice
Version: 3.2.99.1 Version: 3.2.99.2
Release: 2%{?dist} 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 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 Group: Applications/Productivity
URL: http://www.documentfoundation.org/develop URL: http://www.documentfoundation.org/develop
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: http://download.documentfoundation.org/libreoffice/src/libreoffice-artwork-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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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 Source19: http://cgit.freedesktop.org/ooo-build/ooo-build/plain/src/evolocal.odb
Source20: http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll Source20: http://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll
Source21: redhat-registry.tar.gz Source21: redhat-langpacks.tar.gz
Source22: redhat-langpacks.tar.gz Source22: http://www.openoffice.org/nonav/issues/showattachment.cgi/66959/acor_lt.zip
Source23: redhat-agreement.xsl Source23: libreoffice-multiliblauncher.sh
Source24: http://www.openoffice.org/nonav/issues/showattachment.cgi/66959/acor_lt.zip
Source25: libreoffice-multiliblauncher.sh
Source26: http://hg.services.openoffice.org/binaries/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz 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 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 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 Source32: http://hg.services.openoffice.org/binaries/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
Source33: description.xml Source33: description.xml
Source34: manifest.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: zip, findutils, autoconf, flex, bison, icu, gperf, gcc-c++
BuildRequires: binutils, java-devel >= 1.6.0, boost-devel, zlib-devel BuildRequires: binutils, java-devel >= 1.6.0, boost-devel, zlib-devel
BuildRequires: python-devel, expat-devel, libxml2-devel, libxslt-devel, bc 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 Patch2: openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch
Patch3: openoffice.org-2.0.2.rh188467.printingdefaults.patch Patch3: openoffice.org-2.0.2.rh188467.printingdefaults.patch
Patch4: openoffice.org-2.2.1.ooo7065.sw.titlepagedialog.patch Patch4: openoffice.org-2.2.1.ooo7065.sw.titlepagedialog.patch
Patch5: openoffice.org-2.3.0.ooo76649.httpencoding.patch Patch5: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch
Patch6: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch Patch6: openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch
Patch7: openoffice.org-3.0.0.ooo88341.sc.verticalboxes.patch Patch7: openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch
Patch8: workspace.dtardon03.patch Patch8: openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch
Patch9: openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch Patch9: openoffice.org-3.1.0.ooo101274.opening-a-directory.patch
Patch10: openoffice.org-3.1.0.oooXXXXX.solenv.allowmissing.patch Patch10: openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch
Patch11: openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch Patch11: openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch
Patch12: openoffice.org-3.1.0.ooo101274.opening-a-directory.patch Patch12: openoffice.org-3.3.0.ooo108637.sfx2.uisavedir.patch
Patch13: openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch Patch13: openoffice.org-3.2.0.ooo108846.sfx2.qstartfixes.patch
Patch14: workspace.impress195.patch Patch14: openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch
Patch15: openoffice.org-3.1.1.ooo105784.vcl.sniffscriptforsubs.patch Patch15: openoffice.org-3.3.0.ooo113273.desktop.resolvelinks.patch
Patch16: workspace.srb1.patch Patch16: libreoffice-buildfix.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
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%define instdir %{_libdir} %define instdir %{_libdir}
@ -1413,45 +1384,18 @@ cp -p %{SOURCE20} external/unowinreg/unowinreg.dll
%patch2 -p1 -b .ooo53397.prelinkoptimize.desktop.patch %patch2 -p1 -b .ooo53397.prelinkoptimize.desktop.patch
%patch3 -p1 %patch3 -p1
%patch4 -p1 -b .ooo7065.sw.titlepagedialog.patch %patch4 -p1 -b .ooo7065.sw.titlepagedialog.patch
%patch5 -p0 -b .ooo76649.httpencoding.patch %patch5 -p1 -b .ooo86080.unopkg.bodge.patch
%patch6 -p1 -b .ooo86080.unopkg.bodge.patch %patch6 -p1 -b .ooo88341.sc.verticalboxes.patch
%patch7 -p1 -b .ooo88341.sc.verticalboxes.patch %patch7 -p0 -b .gccXXXXX.solenv.javaregistration.patch
%patch8 -p0 -b .workspace.dtardon03.patch %patch8 -p1 -b .oooXXXXX.solenv.allowmissing.patch
%patch9 -p0 -b .gccXXXXX.solenv.javaregistration.patch %patch9 -p0 -b .ooo101274.opening-a-directory.patch
%patch10 -p1 -b .oooXXXXX.solenv.allowmissing.patch %patch10 -p0 -b .ooo102061.sc.cellanchoring.patch
%patch11 -p1 -b .ooo61927.sw.ww6.unicodefontencoding.patch %patch11 -p0 -b .ooo105784.vcl.sniffscriptforsubs.patch
%patch12 -p0 -b .ooo101274.opening-a-directory.patch %patch12 -p1 -b .ooo108637.sfx2.uisavedir.patch
%patch13 -p0 -b .ooo102061.sc.cellanchoring.patch %patch13 -p1 -b .ooo108846.sfx2.qstartfixes.patch
%patch14 -p0 -b .workspace.impress195.patch %patch14 -p0 -b .ooo107490.cppu.lifecycle.patch
%patch15 -p0 -b .ooo105784.vcl.sniffscriptforsubs.patch %patch15 -p0 -b .ooo113273.desktop.resolvelinks.patch
%patch16 -p1 -b .workspace.srb1.patch %patch16 -p1 -b .libreoffice-buildfix.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
%build %build
echo build start time is `date`, diskspace: `df -h . | tail -n 1` 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 {} \; find examples -type f -exec chmod -x {} \;
popd 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 #add the debugging libsalalloc_malloc.so.3 library
cp -f solver/%{OFFICEUPD}/unxlng*.pro/lib/libsalalloc_malloc.so.3 $RPM_BUILD_ROOT/%{ureinstdir}/lib cp -f solver/%{OFFICEUPD}/unxlng*.pro/lib/libsalalloc_malloc.so.3 $RPM_BUILD_ROOT/%{ureinstdir}/lib
chmod -x $RPM_BUILD_ROOT/%{basisinstdir}/program/testtoolrc chmod -x $RPM_BUILD_ROOT/%{basisinstdir}/program/testtoolrc
@ -1677,7 +1612,7 @@ popd
pushd $RPM_BUILD_ROOT/%{basisinstdir}/share/autocorr pushd $RPM_BUILD_ROOT/%{basisinstdir}/share/autocorr
# ooo#108049 # 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-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" 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 ro nohelp western
) )
tar xzf %{SOURCE22} tar xzf %{SOURCE21}
i=0 i=0
while [ $i -lt ${#langpackdetails[@]} ]; do 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 echo exec libreoffice -base \"\$@\" >> $RPM_BUILD_ROOT/%{_bindir}/oobase
chmod a+x $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/LAUNCHER/unopkg/g" $RPM_BUILD_ROOT/%{_bindir}/unopkg
sed -i -e "s/BRAND/libreoffice/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 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/LAUNCHER/soffice/g" $RPM_BUILD_ROOT/%{_bindir}/libreoffice
sed -i -e "s/BRAND/libreoffice/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 chmod a+x $RPM_BUILD_ROOT/%{_bindir}/libreoffice
@ -3192,6 +3127,36 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%endif %endif
%changelog %changelog
* Mon Oct 11 2010 Caolán McNamara <caolanm@redhat.com> 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 <caolanm@redhat.com> 3.2.99.1-2 * Wed Oct 06 2010 Caolán McNamara <caolanm@redhat.com> 3.2.99.1-2
- Related: rhbz#639945 pull in review changes - Related: rhbz#639945 pull in review changes
+ redland build-fix + redland build-fix

@ -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()

@ -20,10 +20,11 @@ retrieving revision 1.54.216.1
diff -u -r1.54.216.1 output2.cxx 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.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 +++ 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 ScOutputData::UseNormalClip(SCROW nCellY, const SfxItemSet* pCondSet)
+{ +{
+ bool bNormalClip = false; + bool bNormalClip = false;
@ -42,7 +43,7 @@ diff -u -r1.54.216.1 output2.cxx
void ScOutputData::DrawEdit(BOOL bPixelToLogic) void ScOutputData::DrawEdit(BOOL bPixelToLogic)
{ {
vcl::PDFExtOutDevData* pPDFData = PTR_CAST( vcl::PDFExtOutDevData, pDev->GetExtOutDevData() ); vcl::PDFExtOutDevData* pPDFData = PTR_CAST( vcl::PDFExtOutDevData, pDev->GetExtOutDevData() );
@@ -2524,13 +2539,8 @@ @@ -2892,13 +2908,8 @@
(ScMergeAttr*)&pPattern->GetItem(ATTR_MERGE); (ScMergeAttr*)&pPattern->GetItem(ATTR_MERGE);
BOOL bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1; BOOL bMerged = pMerge->GetColMerge() > 1 || pMerge->GetRowMerge() > 1;
@ -58,7 +59,7 @@ diff -u -r1.54.216.1 output2.cxx
bClip = TRUE; bClip = TRUE;
else else
bSimClip = TRUE; bSimClip = TRUE;
@@ -2580,6 +2590,18 @@ @@ -2948,6 +2959,18 @@
#endif #endif
Rectangle aLogicClip; Rectangle aLogicClip;
@ -77,15 +78,16 @@ diff -u -r1.54.216.1 output2.cxx
if (bClip || bSimClip) if (bClip || bSimClip)
{ {
// Clip marks are already handled in GetOutputArea // Clip marks are already handled in GetOutputArea
@@ -2635,10 +2657,20 @@ @@ -3776,11 +3799,21 @@
}
else else
{ {
// bei gedrehtem Text ist Standard zentriert
+ long nDiff = 0; + long nDiff = 0;
if (eHorJust==SVX_HOR_JUSTIFY_RIGHT) if (eHorJust==SVX_HOR_JUSTIFY_RIGHT)
- aLogicStart.X() += nAvailWidth - nEngineWidth; - aLogicStart.X() += nAvailWidth - nEngineWidth;
+ nDiff = nAvailWidth - nEngineWidth; + nDiff = nAvailWidth - nEngineWidth;
else if (eHorJust==SVX_HOR_JUSTIFY_CENTER) else if (eHorJust==SVX_HOR_JUSTIFY_CENTER ||
eHorJust==SVX_HOR_JUSTIFY_STANDARD)
- aLogicStart.X() += (nAvailWidth - nEngineWidth) / 2; - aLogicStart.X() += (nAvailWidth - nEngineWidth) / 2;
+ nDiff = (nAvailWidth - nEngineWidth) / 2; + nDiff = (nAvailWidth - nEngineWidth) / 2;
+ +

@ -1365,15 +1365,15 @@ 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 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.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 +++ 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 "drawview.hxx"
#include "gridwin.hxx" #include "gridwin.hxx"
#include "AccessibleEditObject.hxx" #include "AccessibleEditObject.hxx"
+#include "userdat.hxx" +#include "userdat.hxx"
#include "scresid.hxx" #include "scresid.hxx"
#ifndef SC_SC_HRC
#include "sc.hrc" #include "sc.hrc"
@@ -1017,35 +1018,10 @@ #include <com/sun/star/accessibility/AccessibleEventId.hpp>
@@ -977,35 +978,10 @@
uno::Reference<beans::XPropertySet> xShapeProp(xShape, uno::UNO_QUERY); uno::Reference<beans::XPropertySet> xShapeProp(xShape, uno::UNO_QUERY);
if (pShapeImp && xShapeProp.is()) if (pShapeImp && xShapeProp.is())
{ {

@ -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);

@ -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
{

@ -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 );

File diff suppressed because one or more lines are too long

@ -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<SwAnchoredObject*>(pObj)) );
+ ASSERT( pObj, "No Start Object." );
+ if (pObj) aSortObjs.Insert( *(const_cast<SwAnchoredObject*>(pObj)) );
const SwAnchoredObject* pObj2 = pEndFrm->FindFlyFrm();
- aSortObjs.Insert( *(const_cast<SwAnchoredObject*>(pObj2)) );
+ ASSERT( pObj2, "No Start Object." );
+ if (pObj2) aSortObjs.Insert( *(const_cast<SwAnchoredObject*>(pObj2)) );
}
//Fall 4: Tabellenselection

@ -1,37 +0,0 @@
# HG changeset patch
# Parent 95fe59fa4df8614a0bf6b0f5b7c7114e98a28f8d
rhbz#632236: [abrt] [docx] _Construct<long, long> crash
diff -r 95fe59fa4df8 writerfilter/source/dmapper/DomainMapperTableHandler.cxx
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx Wed Sep 29 09:32:54 2010 +0200
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx Wed Sep 29 09:59:15 2010 +0200
@@ -492,13 +492,6 @@
if( aRepeatIter == m_aTableProperties->end() )
m_aTableProperties->Insert( PROP_HEADER_ROW_COUNT, false, uno::makeAny( (sal_Int32)0 ));
- // Remove the PROP_HEADER_ROW_COUNT from the table default to avoid
- // propagating it to the cells
- PropertyMap::iterator aDefaultRepeatIt =
- rInfo.pTableDefaults->find( PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) );
- if ( aDefaultRepeatIt != rInfo.pTableDefaults->end( ) )
- rInfo.pTableDefaults->erase( aDefaultRepeatIt );
-
rInfo.aTableProperties = m_aTableProperties->GetPropertyValues();
#ifdef DEBUG_DOMAINMAPPER
@@ -588,7 +581,14 @@
PropertyMapPtr pStyleProps = rInfo.pTableStyle->GetProperties( nCellStyleMask + nRowStyleMask );
pAllCellProps->insert( pStyleProps );
}
-
+
+ // Remove properties from style/row that aren't allowed in cells
+ const PropertyMap::iterator aDefaultRepeatIt =
+ pAllCellProps->find(
+ PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) );
+ if ( aDefaultRepeatIt != pAllCellProps->end( ) )
+ pAllCellProps->erase( aDefaultRepeatIt );
+
// Then add the cell properties
pAllCellProps->insert( *aCellIterator );
aCellIterator->get( )->swap( *pAllCellProps.get( ) );

@ -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) = &quot;application/x-starcalc&quot;
- FilterList(1) = &quot;application/vnd.stardivision.calc&quot;
- FilterList(2) = &quot;application/vnd.sun.xml.calc&quot;
- FilterList(3) = &quot;application/vnd.oasis.opendocument.spreadsheet&quot;
+ TypeList(0) = &quot;calc8&quot;
+ TypeList(1) = &quot;calc_StarOffice_XML_Calc&quot;
+ TypeList(2) = &quot;calc_StarCalc_30&quot;
+ TypeList(3) = &quot;calc_StarCalc_40&quot;
+ TypeList(4) = &quot;calc_StarCalc_50&quot;
If DialogModel.chkTextDocuments.State = 1 Then
- ReDim Preserve FilterList(8) as String
-
- FilterList(4) = &quot;application/x-starwriter&quot;
- FilterList(5) = &quot;application/vnd.stardivision.writer&quot;
- FilterList(6) = &quot;application/vnd.stardivision.writer/web&quot;
- FilterList(7) = &quot;application/vnd.sun.xml.writer&quot;
- FilterList(8) = &quot;application/vnd.oasis.opendocument.text&quot;
+ ReDim Preserve TypeList(13) as String
+
+ TypeList(5) = &quot;writer8&quot;
+ TypeList(6) = &quot;writerglobal8&quot;
+ TypeList(7) = &quot;writer_StarOffice_XML_Writer&quot;
+ TypeList(8) = &quot;writer_globaldocument_StarOffice_XML_Writer_GlobalDocument&quot;
+ TypeList(9) = &quot;writer_StarWriter_30&quot;
+ TypeList(10) = &quot;writer_StarWriter_40&quot;
+ TypeList(11) = &quot;writer_globaldocument_StarWriter_40GlobalDocument&quot;
+ TypeList(12) = &quot;writer_StarWriter_50&quot;
+ TypeList(13) = &quot;writer_globaldocument_StarWriter_50GlobalDocument&quot;
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)

@ -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 )

@ -397,214 +397,6 @@
-.ENDIF -.ENDIF
-.ENDIF -.ENDIF
- -
--- sax/source/tools/fastserializer.cxx 2010-06-22 12:54:56.000000000 +0100
+++ sax/source/tools/fastserializer.cxx 2010-06-22 13:14:30.000000000 +0100
@@ -27,6 +27,7 @@
#include "fastserializer.hxx"
#include <rtl/ustrbuf.hxx>
+#include <rtl/byteseq.hxx>
#include <com/sun/star/xml/Attribute.hpp>
#include <com/sun/star/xml/FastAttribute.hpp>
@@ -41,6 +42,7 @@
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::RuntimeException;
using ::com::sun::star::uno::Sequence;
+using ::com::sun::star::uno::toUnoSequence;
using ::com::sun::star::xml::FastAttribute;
using ::com::sun::star::xml::Attribute;
using ::com::sun::star::xml::sax::SAXException;
@@ -52,15 +54,15 @@
using ::com::sun::star::io::IOException;
using ::com::sun::star::io::BufferSizeExceededException;
-static Sequence< sal_Int8 > aClosingBracket((sal_Int8 *)">", 1);
-static Sequence< sal_Int8 > aSlashAndClosingBracket((sal_Int8 *)"/>", 2);
-static Sequence< sal_Int8 > aColon((sal_Int8 *)":", 1);
-static Sequence< sal_Int8 > aOpeningBracket((sal_Int8 *)"<", 1);
-static Sequence< sal_Int8 > aOpeningBracketAndSlash((sal_Int8 *)"</", 2);
-static Sequence< sal_Int8 > aQuote((sal_Int8 *)"\"", 1);
-static Sequence< sal_Int8 > aEqualSignAndQuote((sal_Int8 *)"=\"", 2);
-static Sequence< sal_Int8 > aSpace((sal_Int8 *)" ", 1);
-static Sequence< sal_Int8 > aXmlHeader((sal_Int8*) "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n", 56);
+static rtl::ByteSequence aClosingBracket((const sal_Int8 *)">", 1);
+static rtl::ByteSequence aSlashAndClosingBracket((const sal_Int8 *)"/>", 2);
+static rtl::ByteSequence aColon((const sal_Int8 *)":", 1);
+static rtl::ByteSequence aOpeningBracket((const sal_Int8 *)"<", 1);
+static rtl::ByteSequence aOpeningBracketAndSlash((const sal_Int8 *)"</", 2);
+static rtl::ByteSequence aQuote((const sal_Int8 *)"\"", 1);
+static rtl::ByteSequence aEqualSignAndQuote((const sal_Int8 *)"=\"", 2);
+static rtl::ByteSequence aSpace((const sal_Int8 *)" ", 1);
+static rtl::ByteSequence aXmlHeader((const sal_Int8*) "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n", 56);
#define HAS_NAMESPACE(x) ((x & 0xffff0000) != 0)
#define NAMESPACE(x) (x >> 16)
@@ -74,7 +76,7 @@
{
if (!mxOutputStream.is())
return;
- writeBytes(aXmlHeader);
+ writeBytes(toUnoSequence(aXmlHeader));
}
OUString FastSaxSerializer::escapeXml( const OUString& s )
@@ -116,7 +118,7 @@
{
if( HAS_NAMESPACE( nElement ) ) {
writeBytes(mxFastTokenHandler->getUTF8Identifier(NAMESPACE(nElement)));
- writeBytes(aColon);
+ writeBytes(toUnoSequence(aColon));
writeBytes(mxFastTokenHandler->getUTF8Identifier(TOKEN(nElement)));
} else
writeBytes(mxFastTokenHandler->getUTF8Identifier(nElement));
@@ -128,12 +130,12 @@
if (!mxOutputStream.is())
return;
- writeBytes(aOpeningBracket);
+ writeBytes(toUnoSequence(aOpeningBracket));
writeId(Element);
writeFastAttributeList(Attribs);
- writeBytes(aClosingBracket);
+ writeBytes(toUnoSequence(aClosingBracket));
}
void SAL_CALL FastSaxSerializer::startUnknownElement( const OUString& Namespace, const OUString& Name, const Reference< XFastAttributeList >& Attribs )
@@ -142,19 +144,19 @@
if (!mxOutputStream.is())
return;
- writeBytes(aOpeningBracket);
+ writeBytes(toUnoSequence(aOpeningBracket));
if (Namespace.getLength())
{
write(Namespace);
- writeBytes(aColon);
+ writeBytes(toUnoSequence(aColon));
}
write(Name);
writeFastAttributeList(Attribs);
- writeBytes(aClosingBracket);
+ writeBytes(toUnoSequence(aClosingBracket));
}
void SAL_CALL FastSaxSerializer::endFastElement( ::sal_Int32 Element )
@@ -163,11 +165,11 @@
if (!mxOutputStream.is())
return;
- writeBytes(aOpeningBracketAndSlash);
+ writeBytes(toUnoSequence(aOpeningBracketAndSlash));
writeId(Element);
- writeBytes(aClosingBracket);
+ writeBytes(toUnoSequence(aClosingBracket));
}
void SAL_CALL FastSaxSerializer::endUnknownElement( const OUString& Namespace, const OUString& Name )
@@ -176,17 +178,17 @@
if (!mxOutputStream.is())
return;
- writeBytes(aOpeningBracketAndSlash);
+ writeBytes(toUnoSequence(aOpeningBracketAndSlash));
if (Namespace.getLength())
{
write(Namespace);
- writeBytes(aColon);
+ writeBytes(toUnoSequence(aColon));
}
write(Name);
- writeBytes(aClosingBracket);
+ writeBytes(toUnoSequence(aClosingBracket));
}
void SAL_CALL FastSaxSerializer::singleFastElement( ::sal_Int32 Element, const Reference< XFastAttributeList >& Attribs )
@@ -195,12 +197,12 @@
if (!mxOutputStream.is())
return;
- writeBytes(aOpeningBracket);
+ writeBytes(toUnoSequence(aOpeningBracket));
writeId(Element);
writeFastAttributeList(Attribs);
- writeBytes(aSlashAndClosingBracket);
+ writeBytes(toUnoSequence(aSlashAndClosingBracket));
}
void SAL_CALL FastSaxSerializer::singleUnknownElement( const OUString& Namespace, const OUString& Name, const Reference< XFastAttributeList >& Attribs )
@@ -209,19 +211,19 @@
if (!mxOutputStream.is())
return;
- writeBytes(aOpeningBracket);
+ writeBytes(toUnoSequence(aOpeningBracket));
if (Namespace.getLength())
{
write(Namespace);
- writeBytes(aColon);
+ writeBytes(toUnoSequence(aColon));
}
write(Name);
writeFastAttributeList(Attribs);
- writeBytes(aSlashAndClosingBracket);
+ writeBytes(toUnoSequence(aSlashAndClosingBracket));
}
void SAL_CALL FastSaxSerializer::characters( const OUString& aChars )
@@ -251,12 +253,12 @@
sal_Int32 nAttrLength = aAttrSeq.getLength();
for (sal_Int32 i = 0; i < nAttrLength; i++)
{
- writeBytes(aSpace);
+ writeBytes(toUnoSequence(aSpace));
write(pAttr[i].Name);
- writeBytes(aEqualSignAndQuote);
+ writeBytes(toUnoSequence(aEqualSignAndQuote));
write(escapeXml(pAttr[i].Value));
- writeBytes(aQuote);
+ writeBytes(toUnoSequence(aQuote));
}
Sequence< FastAttribute > aFastAttrSeq = Attribs->getFastAttributes();
@@ -264,16 +266,16 @@
sal_Int32 nFastAttrLength = aFastAttrSeq.getLength();
for (sal_Int32 j = 0; j < nFastAttrLength; j++)
{
- writeBytes(aSpace);
+ writeBytes(toUnoSequence(aSpace));
sal_Int32 nToken = pFastAttr[j].Token;
writeId(nToken);
- writeBytes(aEqualSignAndQuote);
+ writeBytes(toUnoSequence(aEqualSignAndQuote));
write(escapeXml(Attribs->getValue(pFastAttr[j].Token)));
- writeBytes(aQuote);
+ writeBytes(toUnoSequence(aQuote));
}
}
--- package/inc/ZipPackageFolder.hxx 2010-06-22 11:49:17.000000000 +0100 --- package/inc/ZipPackageFolder.hxx 2010-06-22 11:49:17.000000000 +0100
+++ package/inc/ZipPackageFolder.hxx 2010-06-22 12:50:26.000000000 +0100 +++ package/inc/ZipPackageFolder.hxx 2010-06-22 12:50:26.000000000 +0100
@@ -53,8 +53,6 @@ @@ -53,8 +53,6 @@

@ -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

@ -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<PresentationViewShell*>(pFullScreenViewShellBase->GetMainViewShell().get());
@@ -713,8 +715,6 @@
}
}
- xController->dispose();
-
if( pFullScreenViewShellBase )
{
PresentationViewShell* pShell = 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);
}

@ -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 += ',';

@ -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<XAccessible>& rxParent,
::Window* pContentWindow)
: AccessibleSlideSorterViewBase(MutexOwner::maMutex),
- mpImpl(new Implementation(*this,rSlideSorter,pContentWindow)),
mrSlideSorter(rSlideSorter),
mxParent(rxParent),
mnClientId(0),
@@ -121,6 +120,16 @@
+
+void AccessibleSlideSorterView::Init()
+{
+ mpImpl.reset(new Implementation(*this,mrSlideSorter,mpContentWindow));
+}
+
+
+
+
+
AccessibleSlideSorterView::~AccessibleSlideSorterView (void)
{
Destroyed ();
--- sd/source/ui/inc/AccessibleSlideSorterView.hxx 2010-08-27 13:01:53.000000000 +0100
+++ sd/source/ui/inc/AccessibleSlideSorterView.hxx 2010-08-27 13:30:28.000000000 +0100
@@ -76,6 +76,8 @@
::sd::slidesorter::SlideSorter& rSlideSorter,
const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> & rxParent,
::Window* pParentWindow);
+
+ void Init();
virtual ~AccessibleSlideSorterView (void);
--- sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx 2010-08-27 13:01:53.000000000 +0100
+++ sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx 2010-08-27 13:41:43.000000000 +0100
@@ -273,16 +273,22 @@
SlideSorterViewShell::CreateAccessibleDocumentView (::sd::Window* pWindow)
{
OSL_ASSERT(mpSlideSorter.get()!=NULL);
-
// When the view is not set then the initialization is not yet complete
// and we can not yet provide an accessibility object.
- if (mpView == NULL)
+ if (mpView == NULL || mpSlideSorter.get() == NULL)
return NULL;
- return new ::accessibility::AccessibleSlideSorterView (
+ ::accessibility::AccessibleSlideSorterView *pAccessibleView =
+ new ::accessibility::AccessibleSlideSorterView(
*mpSlideSorter.get(),
pWindow->GetAccessibleParentWindow()->GetAccessible(),
pWindow);
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> xRet(pAccessibleView);
+
+ pAccessibleView->Init();
+
+ return xRet;
}

@ -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<lang_and_family>::const_iterator aIter = families.begin(); aIter != aEnd; ++aIter)
{
const char *pLang = (const char*)aIter->first;
- //perfect
if( rtl_str_compare(pLang,sFullMatch.getStr() ) == 0)
{
+ //perfect match
candidate = aIter->second;
break;
}
else if( (rtl_str_compare(pLang,sLangMatch.getStr()) == 0) && (!alreadyclosematch))
{
+ //fairly close
candidate = aIter->second;
alreadyclosematch = true;
}
+ else if( (rtl_str_compare(pLang,"en") == 0) && (!alreadyclosematch) )
+ {
+ //english name
+ candidate = aIter->second;
+ }
}
-
return candidate;
}
}

@ -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:

@ -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 );

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ex="http://openoffice.org/extensions/description/2006" version="1.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ex:registration"/>
</xsl:stylesheet>

@ -6,25 +6,24 @@ a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.
8c994b7e7873b30d70dccc3918cdfbc0 acor_lt.zip 8c994b7e7873b30d70dccc3918cdfbc0 acor_lt.zip
ada24d37d8d638b3d8a9985e80bc2978 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip ada24d37d8d638b3d8a9985e80bc2978 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
fdb27bfe2dbe2e7b57ae194d9bf36bab fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz 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 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

File diff suppressed because it is too large Load Diff

@ -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() );

@ -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 @@
<value xml:lang="en-US">~Trace Dependents</value>
</prop>
</node>
+ <node oor:name=".uno:SinglePane" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">~Normal Pane</value>
+ </prop>
+ <prop oor:name="ContextLabel" oor:type="xs:string">
+ <value xml:lang="en-US">~Normal</value>
+ </prop>
+ </node>
<node oor:name=".uno:SplitWindow" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Split Window</value>
diff -r 5893d50a0b8c sd/uiconfig/simpress/menubar/menubar.xml
--- a/sd/uiconfig/simpress/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
+++ b/sd/uiconfig/simpress/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
@@ -79,14 +79,14 @@
<menu:menuitem menu:id=".uno:NormalMultiPaneGUI" menu:style="radio"/>
<menu:menuitem menu:id=".uno:OutlineMode" menu:style="radio"/>
<menu:menuitem menu:id=".uno:DiaMode" menu:style="radio"/>
- <menu:menuitem menu:id=".uno:Presentation"/>
+ <menu:menuitem menu:id=".uno:Presentation" menu:style="radio"/>
<menu:menuitem menu:id=".uno:NotesMode" menu:style="radio"/>
<menu:menuitem menu:id=".uno:HandoutMode" menu:style="radio"/>
<menu:menuseparator/>
<menu:menu menu:id=".uno:MasterPageMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:SlideMasterPage"/>
- <menu:menuitem menu:id=".uno:NotesMasterPage"/>
+ <menu:menuitem menu:id=".uno:SlideMasterPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:NotesMasterPage" menu:style="radio"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:MasterLayouts"/>
</menu:menupopup>
diff -r 5893d50a0b8c svtools/source/config/menuoptions.cxx
--- a/svtools/source/config/menuoptions.cxx Wed Sep 08 15:25:35 2010 +0100
+++ b/svtools/source/config/menuoptions.cxx Mon Sep 13 15:13:31 2010 +0100
@@ -190,9 +190,9 @@
Commit();
}
- void SetMenuIconsState ( sal_Int16 bState )
+ void SetMenuIconsState ( sal_Int16 nState )
{
- m_nMenuIcons = bState;
+ m_nMenuIcons = nState;
SetModified();
for ( USHORT n=0; n<aList.Count(); n++ )
aList.GetObject(n)->Call( this );
@@ -318,7 +318,7 @@
sal_Bool bMenuIcons = sal_True;
sal_Bool bSystemMenuIcons = sal_True;
if (m_nMenuIcons == 2)
- bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetUseImagesInMenus());
+ bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetPreferredUseImagesInMenus());
else
{
bSystemMenuIcons = sal_False;
@@ -342,12 +342,12 @@
else if( seqPropertyNames[nProperty] == PROPERTYNAME_SHOWICONSINMENUES )
{
DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtMenuOptions_Impl::SvtMenuOptions_Impl()\nWho has changed the value type of \"Office.Common\\View\\Menu\\ShowIconsInMenues\"?" );
- bMenuSettingsChanged = seqValues[nProperty] >>= bMenuIcons;
+ bMenuSettingsChanged |= seqValues[nProperty] >>= bMenuIcons;
}
else if( seqPropertyNames[nProperty] == PROPERTYNAME_SYSTEMICONSINMENUES )
{
DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtMenuOptions_Impl::SvtMenuOptions_Impl()\nWho has changed the value type of \"Office.Common\\View\\Menu\\IsSystemIconsInMenus\"?" );
- bMenuSettingsChanged = seqValues[nProperty] >>= bSystemMenuIcons;
+ bMenuSettingsChanged |= seqValues[nProperty] >>= bSystemMenuIcons;
}
#if OSL_DEBUG_LEVEL > 1
diff -r 5893d50a0b8c sw/uiconfig/sglobal/menubar/menubar.xml
--- a/sw/uiconfig/sglobal/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
+++ b/sw/uiconfig/sglobal/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
@@ -103,8 +103,8 @@
</menu:menu>
<menu:menu menu:id=".uno:ViewMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:PrintLayout"/>
- <menu:menuitem menu:id=".uno:BrowseView"/>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
diff -r 5893d50a0b8c sw/uiconfig/sweb/menubar/menubar.xml
--- a/sw/uiconfig/sweb/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
+++ b/sw/uiconfig/sweb/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
@@ -75,9 +75,9 @@
</menu:menu>
<menu:menu menu:id=".uno:ViewMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:PrintLayout"/>
- <menu:menuitem menu:id=".uno:BrowseView"/>
- <menu:menuitem menu:id=".uno:SourceView"/>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SourceView" menu:style="radio"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
diff -r 5893d50a0b8c sw/uiconfig/swform/menubar/menubar.xml
--- a/sw/uiconfig/swform/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
+++ b/sw/uiconfig/swform/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
@@ -103,8 +103,8 @@
</menu:menu>
<menu:menu menu:id=".uno:ViewMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:PrintLayout"/>
- <menu:menuitem menu:id=".uno:BrowseView"/>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
diff -r 5893d50a0b8c sw/uiconfig/swreport/menubar/menubar.xml
--- a/sw/uiconfig/swreport/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
+++ b/sw/uiconfig/swreport/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
@@ -103,8 +103,8 @@
</menu:menu>
<menu:menu menu:id=".uno:ViewMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:PrintLayout"/>
- <menu:menuitem menu:id=".uno:BrowseView"/>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
diff -r 5893d50a0b8c sw/uiconfig/swriter/menubar/menubar.xml
--- a/sw/uiconfig/swriter/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
+++ b/sw/uiconfig/swriter/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
@@ -106,8 +106,8 @@
</menu:menu>
<menu:menu menu:id=".uno:ViewMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:PrintLayout"/>
- <menu:menuitem menu:id=".uno:BrowseView"/>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
diff -r 5893d50a0b8c sw/uiconfig/swxform/menubar/menubar.xml
--- a/sw/uiconfig/swxform/menubar/menubar.xml Wed Sep 08 15:25:35 2010 +0100
+++ b/sw/uiconfig/swxform/menubar/menubar.xml Mon Sep 13 15:13:31 2010 +0100
@@ -104,8 +104,8 @@
</menu:menu>
<menu:menu menu:id=".uno:ViewMenu">
<menu:menupopup>
- <menu:menuitem menu:id=".uno:PrintLayout"/>
- <menu:menuitem menu:id=".uno:BrowseView"/>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:AvailableToolbars"/>
<menu:menuitem menu:id=".uno:StatusBarVisible"/>
diff -r 5893d50a0b8c vcl/aqua/source/window/salframe.cxx
--- a/vcl/aqua/source/window/salframe.cxx Wed Sep 08 15:25:35 2010 +0100
+++ b/vcl/aqua/source/window/salframe.cxx Mon Sep 13 15:13:31 2010 +0100
@@ -1266,7 +1266,7 @@
aStyleSettings.SetScrollBarSize( static_cast<long int>([NSScroller scrollerWidth]) );
// images in menus false for MacOSX
- aStyleSettings.SetUseImagesInMenus( false );
+ aStyleSettings.SetPreferredUseImagesInMenus( false );
rSettings.SetStyleSettings( aStyleSettings );
diff -r 5893d50a0b8c vcl/inc/vcl/settings.hxx
--- a/vcl/inc/vcl/settings.hxx Wed Sep 08 15:25:35 2010 +0100
+++ b/vcl/inc/vcl/settings.hxx Mon Sep 13 15:13:31 2010 +0100
@@ -431,6 +431,7 @@
USHORT mnUseSystemUIFonts;
USHORT mnAutoMnemonic;
USHORT mnUseImagesInMenus;
+ BOOL mbPreferredUseImagesInMenus;
ULONG mnUseFlatBorders;
long mnMinThumbSize;
ULONG mnSymbolsStyle;
@@ -525,6 +526,10 @@
#define STYLE_SYMBOLS_CLASSIC ((ULONG)7)
#define STYLE_SYMBOLS_THEMES_MAX ((ULONG)8)
+#define STYLE_MENUIMAGES_OFF ((USHORT)0)
+#define STYLE_MENUIMAGES_ON ((USHORT)1)
+#define STYLE_MENUIMAGES_AUTO ((USHORT)2)
+
#define STYLE_CURSOR_NOBLINKTIME ((ULONG)0xFFFFFFFF)
class VCL_DLLPUBLIC StyleSettings
@@ -746,10 +751,16 @@
{ CopyData(); mpData->mnUseFlatMenues = bUseFlatMenues; }
BOOL GetUseFlatMenues() const
{ return (BOOL) mpData->mnUseFlatMenues; }
+
void SetUseImagesInMenus( BOOL bUseImagesInMenus )
{ CopyData(); mpData->mnUseImagesInMenus = bUseImagesInMenus; }
- BOOL GetUseImagesInMenus() const
- { return (BOOL) mpData->mnUseImagesInMenus; }
+ BOOL GetUseImagesInMenus() const;
+
+ void SetPreferredUseImagesInMenus( BOOL bPreferredUseImagesInMenus )
+ { CopyData(); mpData->mbPreferredUseImagesInMenus = bPreferredUseImagesInMenus; }
+ BOOL GetPreferredUseImagesInMenus() const
+ { return mpData->mbPreferredUseImagesInMenus; }
+
void SetSkipDisabledInMenus( BOOL bSkipDisabledInMenus )
{ CopyData(); mpData->mnSkipDisabledInMenus = bSkipDisabledInMenus; }
BOOL GetSkipDisabledInMenus() const
diff -r 5893d50a0b8c vcl/source/app/settings.cxx
--- a/vcl/source/app/settings.cxx Wed Sep 08 15:25:35 2010 +0100
+++ b/vcl/source/app/settings.cxx Mon Sep 13 15:13:31 2010 +0100
@@ -435,6 +435,7 @@
mnAutoMnemonic = 1;
mnToolbarIconSize = STYLE_TOOLBAR_ICONSIZE_UNKNOWN;
mnSymbolsStyle = STYLE_SYMBOLS_AUTO;
+ mnUseImagesInMenus = STYLE_MENUIMAGES_AUTO;
mnPreferredSymbolsStyle = STYLE_SYMBOLS_AUTO;
mpFontOptions = NULL;
@@ -539,6 +540,7 @@
mnUseFlatMenues = rData.mnUseFlatMenues;
mnAutoMnemonic = rData.mnAutoMnemonic;
mnUseImagesInMenus = rData.mnUseImagesInMenus;
+ mbPreferredUseImagesInMenus = rData.mbPreferredUseImagesInMenus;
mnSkipDisabledInMenus = rData.mnSkipDisabledInMenus;
mnToolbarIconSize = rData.mnToolbarIconSize;
mnSymbolsStyle = rData.mnSymbolsStyle;
@@ -632,7 +634,7 @@
mnUseSystemUIFonts = 1;
mnUseFlatBorders = 0;
mnUseFlatMenues = 0;
- mnUseImagesInMenus = (USHORT)TRUE;
+ mbPreferredUseImagesInMenus = TRUE;
mnSkipDisabledInMenus = (USHORT)FALSE;
Gradient aGrad( GRADIENT_LINEAR, DEFAULT_WORKSPACE_GRADIENT_START_COLOR, DEFAULT_WORKSPACE_GRADIENT_END_COLOR );
@@ -866,6 +868,19 @@
// -----------------------------------------------------------------------
+BOOL StyleSettings::GetUseImagesInMenus() const
+{
+ // icon mode selected in Tools -> Options... -> OpenOffice.org -> View
+ USHORT nStyle = mpData->mnUseImagesInMenus;
+
+ if ( nStyle == STYLE_MENUIMAGES_AUTO )
+ return GetPreferredUseImagesInMenus();
+
+ return (BOOL)nStyle;
+}
+
+// -----------------------------------------------------------------------
+
void StyleSettings::SetStandardStyles()
{
CopyData();
@@ -1104,6 +1119,7 @@
(mpData->maFieldFont == rSet.mpData->maFieldFont) &&
(mpData->maIconFont == rSet.mpData->maIconFont) &&
(mpData->mnUseImagesInMenus == rSet.mpData->mnUseImagesInMenus) &&
+ (mpData->mbPreferredUseImagesInMenus == rSet.mpData->mbPreferredUseImagesInMenus) &&
(mpData->mnSkipDisabledInMenus == rSet.mpData->mnSkipDisabledInMenus) &&
(mpData->maFontColor == rSet.mpData->maFontColor ))
return TRUE;
diff -r 5893d50a0b8c vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx Wed Sep 08 15:25:35 2010 +0100
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx Mon Sep 13 15:13:31 2010 +0100
@@ -3552,7 +3552,7 @@
gboolean showmenuicons = true;
pSettings = gtk_widget_get_settings( gWidgetData[m_nScreen].gImageMenuItem );
g_object_get( pSettings, "gtk-menu-images", &showmenuicons, (char *)NULL );
- aStyleSet.SetUseImagesInMenus( showmenuicons );
+ aStyleSet.SetPreferredUseImagesInMenus( showmenuicons );
// set scrollbar settings
gint slider_width = 14;
--- a/idlc/source/preproc/tokens.c 2010-09-08 13:23:54.000000000 +0100
+++ b/idlc/source/preproc/tokens.c 2010-09-08 13:24:20.000000000 +0100
@@ -477,7 +477,7 @@
if (write(1, wbuf, OBS) != OBS)
error(ERROR, "short write!");
if (wbp > &wbuf[OBS])
- memcpy(wbuf, wbuf + OBS, wbp - &wbuf[OBS]);
+ memmove(wbuf, wbuf + OBS, wbp - &wbuf[OBS]);
wbp -= OBS;
}
}

@ -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 @@
</xsl:when>
<xsl:otherwise>
<!-- As CSS writing-mode is not implemented by all browsers, a heuristic is done -->
- <xsl:variable name="writingMode" select="key('writingModeStyles', 'test')"/>
- <xsl:if test="contains($writingMode, 'rl')">
+ <xsl:variable name="writingModeTest" select="key('writingModeStyles', 'test')"/>
+ <xsl:if test="contains($writingModeTest, 'rl')">
<xsl:attribute name="dir">rtl</xsl:attribute>
</xsl:if>
</xsl:otherwise>
@@ -579,13 +579,13 @@
</xsl:variable>
<xsl:choose>
<xsl:when test="$tabIndent='NaN'">
- <xsl:variable name="tabPosition">
+ <xsl:variable name="tabPositionTmp">
<xsl:call-template name="convert2cm">
<xsl:with-param name="value" select="$tabStops/style:tab-stop[last()]/@style:position"/>
</xsl:call-template>
</xsl:variable>
<!-- Heuristic: for every tab that is more than specified give a further 1 cm -->
- <xsl:value-of select="$parentMarginLeft + $tabPosition + count($tabStops/style:tab-stop) - $tabCount"/>
+ <xsl:value-of select="$parentMarginLeft + $tabPositionTmp + count($tabStops/style:tab-stop) - $tabCount"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$tabIndent"/>
diff -ru filter.orig/source/xslt/export/uof/odf2uof_text.xsl filter/source/xslt/export/uof/odf2uof_text.xsl
--- filter.orig/source/xslt/export/uof/odf2uof_text.xsl 2009-04-24 09:31:14.000000000 +0100
+++ filter/source/xslt/export/uof/odf2uof_text.xsl 2009-04-24 09:32:29.000000000 +0100
@@ -4029,13 +4029,7 @@
<xsl:element name="字:文本串">
<xsl:attribute name="uof:locID">t0109</xsl:attribute>
<xsl:attribute name="uof:attrList">标识符</xsl:attribute>
- <xsl:variable name="stt">
- <xsl:value-of select="./text:a"/>
- </xsl:variable>
- <xsl:variable name="end">
- <xsl:value-of select="."/>
- </xsl:variable>
- <xsl:value-of select="substring-after($end,$stt)"/>
+ <xsl:value-of select="$bijiao"/>
</xsl:element>
</xsl:if>
</字:句>
Index: filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
===================================================================
--- filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (revision 270524)
+++ filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (working copy)
@@ -1767,6 +1767,11 @@
<xsl:param name="minLabelWidth"/>
<xsl:param name="listIndent" />
+ <!-- The text:list-header shall not be labeled. According to ODF specification (sect. 4.3.2):
+ "The <text:list-header> element represents a list header and is a special kind of list item. It
+ contains one or more paragraphs that are displayed before a list. The paragraphs are formatted
+ like list items but they do not have a preceding number or bullet." -->
+ <xsl:variable name="isListHeader" select="boolean(self::text:list-header)"/>
<xsl:variable name="listIndentNew">
<xsl:choose>
@@ -1785,13 +1790,15 @@
<xsl:variable name="itemNumberNew">
<xsl:if test="$listStyle/text:list-style/text:list-level-style-number">
<xsl:choose>
- <xsl:when test="$isEmptyList">
+ <xsl:when test="$isListHeader">0</xsl:when>
<!-- An empty list item (no text:h/text:p as child), will not count as item and does not increment the count. -->
<xsl:variable name="tempItemNumber">
<xsl:choose>
<!-- siblings will be incremented by one -->
<xsl:when test="$itemNumber">
- <xsl:value-of select="$itemNumber + 1"/>
+ <xsl:if test="not($isListHeader)">
+ <xsl:value-of select="$itemNumber + 1"/>
+ </xsl:if>
</xsl:when>
<!-- if a higher list level had content the numbering starts with 1 -->
<xsl:when test="$isListNumberingReset and $listLevel &gt; 1">
@@ -1866,6 +1873,7 @@
<xsl:when test="$display">
<xsl:value-of select="$display"/>
</xsl:when>
+ <xsl:when test="$isListHeader">0</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
@@ -1876,9 +1884,10 @@
</xsl:variable>
<xsl:element name="li">
<xsl:choose>
- <xsl:when test="$isEmptyList">
+ <xsl:when test="$isEmptyList or $isListHeader">
<xsl:apply-templates>
<xsl:with-param name="globalData" select="$globalData"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isListHeader or $isNextLevelNumberingReset"/>
<xsl:with-param name="itemLabel" select="$itemLabelNew"/>
<xsl:with-param name="listLevel" select="$listLevel + 1"/>
<xsl:with-param name="listStyleName" select="$listStyleName"/>
@@ -1889,7 +1898,7 @@
<xsl:apply-templates mode="list-item-children" select="*[1]">
<xsl:with-param name="globalData" select="$globalData"/>
<xsl:with-param name="isEmptyList" select="$isEmptyList"/>
- <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/>
+ <xsl:with-param name="isNextLevelNumberingReset" select="$isListHeader or $isNextLevelNumberingReset"/>
<!-- The new created label is given to the children -->
<xsl:with-param name="itemLabel" select="$itemLabelNew"/>
<xsl:with-param name="listLabelElement">
@@ -2088,7 +2097,7 @@
<!-- The Numbering start value (or offset from regular counteing) is used at the first item of offset,
- but have to be reused on following item/headers with no text:start-value -->
+ but have to be reused on following items with no text:start-value -->
<xsl:template name="getItemNumber">
<xsl:param name="listLevel"/>
<xsl:param name="listLevelStyle"/>
@@ -2122,6 +2131,8 @@
<!-- E.g.: If a list level 2 number is searched, a level 3 with content found with only a level 1 parent with content,
the level 3 gets a 'pseudoLevel' -->
<xsl:param name="pseudoLevel" select="0" />
+ <xsl:variable name="isListHeader" select="boolean(self::text:list-header)"/>
+ <xsl:variable name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p'])"/>
<!-- set the next of preceding list items. Starting from the current to the next previous text:list-item -->
<xsl:variable name="precedingListItemOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle[$precedingListItemsOfSameLevelAndStyleCount - $IteratorSameLevelAndStyle + 1]"/>
@@ -2155,7 +2166,7 @@
<xsl:when test="$currentListLevel &lt; $listLevel">
<xsl:choose>
<!-- if it has content the counting is ended -->
- <xsl:when test="*[name() = 'text:h' or name() = 'text:p']">
+ <xsl:when test="not($isEmptyList or $isListHeader)">
<!-- 2DO: Perhaps the children still have to be processed -->
<xsl:value-of select="$itemNumber + $pseudoLevel"/>
</xsl:when>
@@ -2210,7 +2221,7 @@
<xsl:with-param name="pseudoLevel">
<xsl:choose>
<!-- empty list item does not count -->
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
+ <xsl:when test="$isEmptyList or $isListHeader">
<xsl:value-of select="$pseudoLevel"/>
</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
@@ -2243,11 +2254,14 @@
<xsl:param name="precedingListItemsOfSameStyleCount"/>
<xsl:param name="pseudoLevel" />
+ <xsl:variable name="isListHeader" select="boolean(self::text:list-header)"/>
+ <xsl:variable name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p'])"/>
+
<xsl:choose>
<xsl:when test="@text:start-value">
<xsl:choose>
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
- <!-- empty list item does not count -->
+ <xsl:when test="$isEmptyList or $isListHeader">
+ <!-- empty list item does not count. neither does list header -->
<xsl:call-template name="countListItemTillStartValue">
<xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
<xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
@@ -2269,8 +2283,8 @@
</xsl:when>
<xsl:when test="$listLevelStyle/@text:start-value">
<xsl:choose>
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
- <!-- empty list item does not count -->
+ <xsl:when test="$isEmptyList or $isListHeader">
+ <!-- empty list item does not count. neither does list header -->
<xsl:call-template name="countListItemTillStartValue">
<xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
<xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
@@ -2292,8 +2306,8 @@
</xsl:when>
<xsl:otherwise>
<xsl:choose>
- <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])">
- <!-- empty list item does not count -->
+ <xsl:when test="$isEmptyList or $isListHeader">
+ <!-- empty list item does not count. neither does list header -->
<xsl:call-template name="countListItemTillStartValue">
<xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" />
<xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/>
Index: filter/source/docbook/sofftodocbookheadings.xsl
===================================================================
--- filter/source/docbook/sofftodocbookheadings.xsl (revision 270724)
+++ filter/source/docbook/sofftodocbookheadings.xsl (working copy)
@@ -73,11 +73,6 @@
match="text:h"
use="generate-id(preceding::text:h[@text:level &lt; current()/@text:level][1])"/>
- <!-- All those headings have not the lowest outline level (mapped to section1), but come before the first heading mapped to section1 -->
- <xsl:key name="preludingHeadings"
- match="text:h"
- use="generate-id(following::text:h[@text:level = $section1_OutlineLevel][1])"/>
-
<!-- The key function "getHeadingsByOutline" returns all headings of a certain outline level -->
<xsl:key name="getHeadingsByOutline"
match="text:h"
@@ -175,7 +170,7 @@
<xsl:text disable-output-escaping="yes">&lt;sect1&gt;</xsl:text>
<title></title>
<!-- create sections for all the first section1 preluding headings -->
- <xsl:for-each select="key('preludingHeadings', generate-id())">
+ <xsl:for-each select="key('getHeadingsByOutline', $section1_OutlineLevel)[1]/preceding::text:h">
<xsl:call-template name="make-section">
<xsl:with-param name="previousSectionLevel" select="$section1_OutlineLevel"/>
<xsl:with-param name="currentSectionLevel">
@@ -1186,4 +1181,4 @@
<xsl:with-param name="whitespaces" select="8"/>
</xsl:call-template>
</xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
+</xsl:stylesheet>
Index: filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
===================================================================
--- filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (revision 276736)
+++ filter/source/xslt/odf2xhtml/export/xhtml/body.xsl (working copy)
@@ -59,6 +59,13 @@
<xsl:key name="writingModeStyles" match="/*/office:styles/style:style/style:paragraph-properties/@style:writing-mode | /*/office:automatic-styles/style:style/style:paragraph-properties/@style:writing-mode" use="'test'"/>
<xsl:template name="create-body">
<xsl:param name="globalData"/>
+ <xsl:call-template name="create-body.collect-page-properties">
+ <xsl:with-param name="globalData" select="$globalData"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="create-body.collect-page-properties">
+ <xsl:param name="globalData"/>
<!-- approximation to find the correct master page style (with page dimensions) -->
<xsl:variable name="masterPageNames">
@@ -75,10 +82,10 @@
<!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name -->
<xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/>
- <xsl:variable name="pageProperties">
+ <xsl:variable name="pagePropertiesRTF">
<xsl:choose>
<xsl:when test="not($pageLayoutName) or $pageLayoutName = ''">
- <xsl:copy-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/>
+ <xsl:value-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/>
</xsl:when>
<xsl:otherwise>
<!-- Find the according style:page-layout and store the properties in a variable -->
@@ -86,6 +93,35 @@
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
+ <xsl:choose>
+ <xsl:when test="function-available('common:node-set')">
+ <xsl:call-template name="create-body.create">
+ <xsl:with-param name="globalData" select="common:node-set($globalData)"/>
+ <xsl:with-param name="pageProperties" select="common:node-set($pagePropertiesRTF)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="function-available('xalan:nodeset')">
+ <xsl:call-template name="create-body.create">
+ <xsl:with-param name="globalData" select="xalan:nodeset($globalData)"/>
+ <xsl:with-param name="pageProperties" select="xalan:nodeset($pagePropertiesRTF)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="function-available('xt:node-set')">
+ <xsl:call-template name="create-body.create">
+ <xsl:with-param name="globalData" select="xt:node-set($globalData)"/>
+ <xsl:with-param name="pageProperties" select="xt:node-set($pagePropertiesRTF)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">The required node-set function was not found!</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="create-body.create">
+ <xsl:param name="globalData"/>
+ <xsl:param name="pageProperties"/>
+
<xsl:element name="body">
<!-- direction of text flow -->
<xsl:variable name="writingMode" select="$pageProperties/style:page-layout-properties/@style:writing-mode"/>

File diff suppressed because it is too large Load Diff

@ -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<XResourceId>(), new WorkWindow(NULL,WB_STDWORK)))
+ mxLocalPane(new Pane(Reference<XResourceId>(), mpWindow.get()))
{
(void)rxContext;
}
diff -ru sd.orig/source/ui/framework/factories/BasicViewFactory.hxx sd/source/ui/framework/factories/BasicViewFactory.hxx
--- sd.orig/source/ui/framework/factories/BasicViewFactory.hxx 2009-05-25 09:21:53.000000000 +0100
+++ sd/source/ui/framework/factories/BasicViewFactory.hxx 2009-05-25 11:20:23.000000000 +0100
@@ -123,6 +123,7 @@
FrameView* mpFrameView;
class ViewCache;
+ ::boost::shared_ptr<Window> mpWindow;
::boost::shared_ptr<ViewCache> mpViewCache;
css::uno::Reference<css::drawing::framework::XPane> mxLocalPane;
Index: cppcanvas/source/mtfrenderer/implrenderer.cxx
===================================================================
--- cppcanvas/source/mtfrenderer/implrenderer.cxx (revision 276100)
+++ cppcanvas/source/mtfrenderer/implrenderer.cxx (working copy)
@@ -43,6 +43,7 @@
#include <com/sun/star/rendering/TexturingMode.hpp>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/geometry/RealPoint2D.hpp>
+#include <com/sun/star/rendering/PanoseProportion.hpp>
#include <com/sun/star/rendering/ViewState.hpp>
#include <com/sun/star/rendering/RenderState.hpp>
#include <com/sun/star/rendering/XCanvasFont.hpp>
@@ -850,6 +851,12 @@
rParms.mrParms.maFontLetterForm.isValid() ?
rParms.mrParms.maFontLetterForm.getValue() :
(rFont.GetItalic() == ITALIC_NONE) ? 0 : 9;
+ aFontRequest.FontDescription.FontDescription.Proportion =
+ rParms.mrParms.maFontProportion.isValid() ?
+ rParms.mrParms.maFontProportion.getValue() :
+ (rFont.GetPitch() == PITCH_FIXED)
+ ? rendering::PanoseProportion::MONO_SPACED
+ : rendering::PanoseProportion::ANYTHING;
LanguageType aLang = rFont.GetLanguage();
aFontRequest.Locale = MsLangId::convertLanguageToLocale(aLang, false);
@@ -2967,7 +2974,8 @@
if( rParams.maFontName.isValid() ||
rParams.maFontWeight.isValid() ||
rParams.maFontLetterForm.isValid() ||
- rParams.maFontUnderline.isValid() )
+ rParams.maFontUnderline.isValid() ||
+ rParams.maFontProportion.isValid() )
{
::cppcanvas::internal::OutDevState& rState = getState( aStateStack );
Index: cppcanvas/inc/cppcanvas/renderer.hxx
===================================================================
--- cppcanvas/inc/cppcanvas/renderer.hxx (revision 276100)
+++ cppcanvas/inc/cppcanvas/renderer.hxx (working copy)
@@ -139,6 +139,9 @@
/// Optionally forces the given font letter form (italics etc.) for all text actions
::comphelper::OptionalValue< sal_Int8 > maFontLetterForm;
+ /// Optionally forces the given font proportion (condensed, monospaced etc.) for all text actions
+ ::comphelper::OptionalValue< sal_Int8 > maFontProportion;
+
/// Optionally forces underlining for all text actions
::comphelper::OptionalValue< bool > maFontUnderline;
};
Index: canvas/source/directx/dx_textlayout_drawhelper.cxx
===================================================================
--- canvas/source/directx/dx_textlayout_drawhelper.cxx (revision 276100)
+++ canvas/source/directx/dx_textlayout_drawhelper.cxx (working copy)
@@ -135,6 +135,9 @@
aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
+ aFont.SetPitch(
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
+ ? PITCH_FIXED : PITCH_VARIABLE);
aFont.SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
@@ -267,6 +270,9 @@
aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==com::sun::star::util::TriState_YES) ? TRUE : FALSE );
aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
+ aFont.SetPitch(
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
+ ? PITCH_FIXED : PITCH_VARIABLE);
// adjust to stretched font
if(!::rtl::math::approxEqual(rFontMatrix.m00, rFontMatrix.m11))
Index: canvas/source/vcl/canvasfont.cxx
===================================================================
--- canvas/source/vcl/canvasfont.cxx (revision 276100)
+++ canvas/source/vcl/canvasfont.cxx (working copy)
@@ -38,6 +38,8 @@
#include <i18npool/mslangid.hxx>
#include <vcl/metric.hxx>
+#include <com/sun/star/rendering/PanoseProportion.hpp>
+
#include "canvasfont.hxx"
#include "textlayout.hxx"
@@ -66,6 +68,9 @@
// TODO(F2): improve panose->vclenum conversion
maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
+ maFont->SetPitch(
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
+ ? PITCH_FIXED : PITCH_VARIABLE);
maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
Index: canvas/source/cairo/cairo_canvasfont.cxx
===================================================================
--- canvas/source/cairo/cairo_canvasfont.cxx (revision 276100)
+++ canvas/source/cairo/cairo_canvasfont.cxx (working copy)
@@ -33,6 +33,8 @@
#include <canvas/debug.hxx>
+#include <com/sun/star/rendering/PanoseProportion.hpp>
+
#include <rtl/math.hxx>
#include <basegfx/numeric/ftools.hxx>
@@ -86,6 +88,9 @@
// TODO(F2): improve panose->vclenum conversion
maFont->SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
maFont->SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
+ maFont->SetPitch(
+ rFontRequest.FontDescription.FontDescription.Proportion == rendering::PanoseProportion::MONO_SPACED
+ ? PITCH_FIXED : PITCH_VARIABLE);
maFont->SetLanguage(MsLangId::convertLocaleToLanguage(rFontRequest.Locale));
Index: drawinglayer/source/processor2d/canvasprocessor.cxx
===================================================================
--- drawinglayer/source/processor2d/canvasprocessor.cxx (revision 276100)
+++ drawinglayer/source/processor2d/canvasprocessor.cxx (working copy)
@@ -57,6 +57,7 @@
#include <basegfx/tuple/b2i64tuple.hxx>
#include <basegfx/range/b2irange.hxx>
#include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp>
+#include <com/sun/star/rendering/PanoseProportion.hpp>
#include <com/sun/star/rendering/CompositeOperation.hpp>
#include <com/sun/star/rendering/StrokeAttributes.hpp>
#include <com/sun/star/rendering/PathJoinType.hpp>
@@ -1517,6 +1518,10 @@
aFontRequest.FontDescription.IsVertical = rFontAttr.getVertical() ? util::TriState_YES : util::TriState_NO;
// TODO(F2): improve vclenum->panose conversion
aFontRequest.FontDescription.FontDescription.Weight = static_cast< sal_uInt8 >(rFontAttr.getWeight());
+ aFontRequest.FontDescription.FontDescription.Proportion =
+ rFontAttr.getMonospaced()
+ ? rendering::PanoseProportion::MONO_SPACED
+ : rendering::PanoseProportion::ANYTHING;
aFontRequest.FontDescription.FontDescription.Letterform = rFontAttr.getItalic() ? 9 : 0;
// init CellSize to 1.0, else a default font height will be used
Index: drawinglayer/source/primitive2d/textlayoutdevice.cxx
===================================================================
--- drawinglayer/source/primitive2d/textlayoutdevice.cxx (revision 276100)
+++ drawinglayer/source/primitive2d/textlayoutdevice.cxx (working copy)
@@ -406,6 +406,7 @@
aRetval.SetWeight(static_cast<FontWeight>(rFontAttribute.getWeight()));
aRetval.SetItalic(rFontAttribute.getItalic() ? ITALIC_NORMAL : ITALIC_NONE);
aRetval.SetOutline(rFontAttribute.getOutline());
+ aRetval.SetPitch(rFontAttribute.getMonospaced() ? PITCH_FIXED : PITCH_VARIABLE);
aRetval.SetLanguage(MsLangId::convertLocaleToLanguage(rLocale));
#ifdef WIN32
@@ -445,6 +446,7 @@
RTL_TEXTENCODING_SYMBOL == rFont.GetCharSet(),
rFont.IsVertical(),
ITALIC_NONE != rFont.GetItalic(),
+ PITCH_FIXED == rFont.GetPitch(),
rFont.IsOutline(),
bRTL,
bBiDiStrong);
--- drawinglayer/source/attribute/fontattribute.cxx 2010-07-06 16:05:42.000000000 +0100
+++ drawinglayer/source/attribute/fontattribute.cxx 2010-07-06 16:06:02.000000000 +0100
@@ -55,6 +55,7 @@
unsigned mbOutline : 1; // Outline Flag
unsigned mbRTL : 1; // RTL Flag
unsigned mbBiDiStrong : 1; // BiDi Flag
+ unsigned mbMonospaced : 1;
ImpFontAttribute(
const String& rFamilyName,
@@ -63,6 +64,7 @@
bool bSymbol,
bool bVertical,
bool bItalic,
+ bool bMonospaced,
bool bOutline,
bool bRTL,
bool bBiDiStrong)
@@ -75,7 +77,8 @@
mbItalic(bItalic),
mbOutline(bOutline),
mbRTL(bRTL),
- mbBiDiStrong(bBiDiStrong)
+ mbBiDiStrong(bBiDiStrong),
+ mbMonospaced(bMonospaced)
{
}
@@ -89,6 +92,7 @@
bool getOutline() const { return mbOutline; }
bool getRTL() const { return mbRTL; }
bool getBiDiStrong() const { return mbBiDiStrong; }
+ bool getMonospaced() const { return mbMonospaced; }
bool operator==(const ImpFontAttribute& rCompare) const
{
@@ -100,7 +104,8 @@
&& getItalic() == rCompare.getItalic()
&& getOutline() == rCompare.getOutline()
&& getRTL() == rCompare.getRTL()
- && getBiDiStrong() == rCompare.getBiDiStrong());
+ && getBiDiStrong() == rCompare.getBiDiStrong()
+ && getMonospaced() == rCompare.getMonospaced());
}
static ImpFontAttribute* get_global_default()
@@ -112,7 +117,7 @@
pDefault = new ImpFontAttribute(
String(), String(),
0,
- false, false, false, false, false, false);
+ false, false, false, false, false, false, false);
// never delete; start with RefCount 1, not 0
pDefault->mnRefCount++;
@@ -129,11 +134,12 @@
bool bSymbol,
bool bVertical,
bool bItalic,
+ bool bMonospaced,
bool bOutline,
bool bRTL,
bool bBiDiStrong)
: mpFontAttribute(new ImpFontAttribute(
- rFamilyName, rStyleName, nWeight, bSymbol, bVertical, bItalic, bOutline, bRTL, bBiDiStrong))
+ rFamilyName, rStyleName, nWeight, bSymbol, bVertical, bItalic, bMonospaced, bOutline, bRTL, bBiDiStrong))
{
}
@@ -246,6 +252,12 @@
return mpFontAttribute->getBiDiStrong();
}
+ bool FontAttribute::getMonospaced() const
+ {
+ return mpFontAttribute->getMonospaced();
+ }
+
+
} // end of namespace attribute
} // end of namespace drawinglayer
--- drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx 2010-07-07 11:39:31.000000000 +0100
+++ drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx 2010-07-07 11:44:38.000000000 +0100
@@ -65,6 +65,7 @@
bool bSymbol = false,
bool bVertical = false,
bool bItalic = false,
+ bool bMonospaced = false,
bool bOutline = false,
bool bRTL = false,
bool bBiDiStrong = false);
@@ -89,6 +90,7 @@
bool getOutline() const;
bool getRTL() const;
bool getBiDiStrong() const;
+ bool getMonospaced() const;
};
} // end of namespace attribute
} // end of namespace drawinglayer

@ -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.");
+ }
}

@ -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 <sanedlg.hxx>
#include <vos/thread.hxx>
#include <tools/list.hxx>
+#include <boost/shared_ptr.hpp>
#if OSL_DEBUG_LEVEL > 1
#include <stdio.h>
@@ -113,12 +114,41 @@
vos::OMutex m_aProtector;
ScanError m_nError;
bool m_bBusy;
+
+ SaneHolder() : m_nError(ScanError_ScanErrorNone), m_bBusy(false) {}
};
-DECLARE_LIST( SaneHolderList, SaneHolder* )
+namespace
+{
+ typedef std::vector< boost::shared_ptr<SaneHolder> > sanevec;
+ class allSanes
+ {
+ private:
+ int mnRefCount;
+ public:
+ sanevec m_aSanes;
+ allSanes() : mnRefCount(0) {}
+ void acquire();
+ void release();
+ };
+
+ void allSanes::acquire()
+ {
+ ++mnRefCount;
+ }
+
+ void allSanes::release()
+ {
+ // was unused, now because of i99835: "Scanning interface not SANE API
+ // compliant" destroy all SaneHolder to get Sane Dtor called
+ --mnRefCount;
+ if (!mnRefCount)
+ m_aSanes.clear();
+ }
-static SaneHolderList allSanes;
-static vos::OMutex aSaneProtector;
+ struct theSaneProtector : public rtl::Static<vos::OMutex, theSaneProtector> {};
+ struct theSanes : public rtl::Static<allSanes, theSanes> {};
+}
// -----------------
// - ScannerThread -
@@ -126,7 +156,7 @@
class ScannerThread : public vos::OThread
{
- SaneHolder* m_pHolder;
+ boost::shared_ptr<SaneHolder> m_pHolder;
REF( com::sun::star::lang::XEventListener ) m_xListener;
ScannerManager* m_pManager; // just for the disposing call
@@ -134,7 +164,7 @@
virtual void run();
virtual void onTerminated() { delete this; }
public:
- ScannerThread( SaneHolder* pHolder,
+ ScannerThread( boost::shared_ptr<SaneHolder> pHolder,
const REF( com::sun::star::lang::XEventListener )& listener,
ScannerManager* pManager );
virtual ~ScannerThread();
@@ -143,7 +173,7 @@
// -----------------------------------------------------------------------------
ScannerThread::ScannerThread(
- SaneHolder* pHolder,
+ boost::shared_ptr<SaneHolder> pHolder,
const REF( com::sun::star::lang::XEventListener )& listener,
ScannerManager* pManager )
: m_pHolder( pHolder ), m_xListener( listener ), m_pManager( pManager )
@@ -192,16 +222,16 @@
// - ScannerManager -
// ------------------
-void ScannerManager::DestroyData()
+void ScannerManager::AcquireData()
{
- // was unused, now because of i99835: "Scanning interface not SANE API compliant"
- // delete all SaneHolder to get Sane Dtor called
- int i;
- for ( i = allSanes.Count(); i > 0; i-- )
- {
- SaneHolder *pSaneHolder = allSanes.GetObject(i-1);
- if ( pSaneHolder ) delete pSaneHolder;
- }
+ vos::OGuard aGuard( theSaneProtector::get() );
+ theSanes::get().acquire();
+}
+
+void ScannerManager::ReleaseData()
+{
+ vos::OGuard aGuard( theSaneProtector::get() );
+ theSanes::get().release();
}
// -----------------------------------------------------------------------------
@@ -224,17 +254,14 @@
SEQ( ScannerContext ) ScannerManager::getAvailableScanners() throw()
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
- if( ! allSanes.Count() )
+ if( rSanes.empty() )
{
- SaneHolder* pSaneHolder = new SaneHolder;
- pSaneHolder->m_nError = ScanError_ScanErrorNone;
- pSaneHolder->m_bBusy = false;
+ boost::shared_ptr<SaneHolder> pSaneHolder(new SaneHolder);
if( Sane::IsSane() )
- allSanes.Insert( pSaneHolder );
- else
- delete pSaneHolder;
+ rSanes.push_back( pSaneHolder );
}
if( Sane::IsSane() )
@@ -252,20 +279,21 @@
BOOL ScannerManager::configureScanner( ScannerContext& scanner_context ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "ScannerManager::configureScanner\n" );
#endif
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
if( pHolder->m_bBusy )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner is busy" ),
@@ -286,19 +314,20 @@
void ScannerManager::startScan( const ScannerContext& scanner_context,
const REF( com::sun::star::lang::XEventListener )& listener ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
#if OSL_DEBUG_LEVEL > 1
fprintf( stderr, "ScannerManager::startScan\n" );
#endif
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
if( pHolder->m_bBusy )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner is busy" ),
@@ -315,16 +344,17 @@
ScanError ScannerManager::getError( const ScannerContext& scanner_context ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
return pHolder->m_nError;
}
@@ -333,15 +363,16 @@
REF( AWT::XBitmap ) ScannerManager::getBitmap( const ScannerContext& scanner_context ) throw( ScannerException )
{
- vos::OGuard aGuard( aSaneProtector );
+ vos::OGuard aGuard( theSaneProtector::get() );
+ sanevec &rSanes = theSanes::get().m_aSanes;
- if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= allSanes.Count() )
+ if( scanner_context.InternalData < 0 || (ULONG)scanner_context.InternalData >= rSanes.size() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
REF( XScannerManager )( this ),
ScanError_InvalidContext
);
- SaneHolder* pHolder = allSanes.GetObject( scanner_context.InternalData );
+ boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
vos::OGuard aProtGuard( pHolder->m_aProtector );
diff -ru extensions.orig/source/scanner/scanwin.cxx extensions/source/scanner/scanwin.cxx
--- extensions.orig/source/scanner/scanwin.cxx 2010-07-12 20:17:35.000000000 +0100
+++ extensions/source/scanner/scanwin.cxx 2010-07-13 09:28:40.000000000 +0100
@@ -887,7 +887,11 @@
// - ScannerManager -
// ------------------
-void ScannerManager::DestroyData()
+void ScannerManager::AcquireData()
+{
+}
+
+void ScannerManager::ReleaseData()
{
if( mpData )
{
@@ -979,7 +983,7 @@
}
GlobalUnlock( hDIB );
- DestroyData();
+ ReleaseData();
}
return aRet;
@@ -1009,7 +1013,7 @@
if( rContext.InternalData != 0 || rContext.ScannerName != ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TWAIN" ) ) )
throw ScannerException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Scanner does not exist" ) ), xThis, ScanError_InvalidContext );
- DestroyData();
+ ReleaseData();
return aTwain.SelectSource( *this );
}
@@ -1025,7 +1029,7 @@
if( rContext.InternalData != 0 || rContext.ScannerName != ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TWAIN" ) ) )
throw ScannerException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Scanner does not exist" ) ), xThis, ScanError_InvalidContext );
- DestroyData();
+ ReleaseData();
aTwain.PerformTransfer( *this, rxListener );
}

@ -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

@ -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 )
{
Loading…
Cancel
Save