The following commit has been merged in the ubuntu-natty-3.3 branch: commit d8108cd921c9ee7f8a268bb25658d2e037362646 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Fri Sep 9 19:04:05 2011 +0200
patch update to upstream 3.3.4.1 diff --git a/changelog b/changelog index 4fdf110..a848bda 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,11 @@ +libreoffice (1:3.3.4-0ubuntu1) natty-proposed; urgency=low + + * new upstream release + * decoupling from debian, because we dont want to introduce new deps + on natty anymore + + -- Bjoern Michaelsen <bjoern.michael...@canonical.com> Fri, 09 Sep 2011 19:00:32 +0200 + libreoffice (1:3.3.3-1ubuntu2) natty-proposed; urgency=medium * move icons back to 3.3 location after unpacking (LP: #813148) diff --git a/patches/series b/patches/series index ae0b84b..780280f 100644 --- a/patches/series +++ b/patches/series @@ -18,3 +18,4 @@ disable-integrated-ubuntupatches.diff fix-jpeg.diff lp720716.diff lp746375.diff +patches/update-from-libreoffice-3.3.3.1-to-libreoffice-3.3.4.1.diff diff --git a/patches/update-from-libreoffice-3.3.3.1-to-libreoffice-3.3.4.1.diff b/patches/update-from-libreoffice-3.3.3.1-to-libreoffice-3.3.4.1.diff new file mode 100644 index 0000000..f3de860 --- /dev/null +++ b/patches/update-from-libreoffice-3.3.3.1-to-libreoffice-3.3.4.1.diff @@ -0,0 +1,733 @@ +--- /dev/null 2011-09-08 09:38:13.216916800 +0200 ++++ libreoffice/libreoffice-build/patches/hotfixes/update-from-libreoffice-3.3.3.1-to-libreoffice-3.3.4.1.diff 2011-09-09 18:53:19.338863741 +0200 +@@ -0,0 +1,730 @@ ++commits from libreoffice-3.3.3.1 to libreoffice-3.3.4.1 ++From 125bbd1594f8dc16ec74cd17c6670acfa4c206b2 Mon Sep 17 00:00:00 2001 ++From: Petr Mladek <pmla...@suse.cz> ++Date: Tue, 2 Aug 2011 14:54:59 +0200 ++Subject: [bootstrap 1/2] bump product version to 3.3.4-rc1, release number to ++ 401 ++ ++--- ++ instsetoo_native/util/openoffice.lst | 26 +++++++++++++------------- ++ solenv/inc/minor.mk | 4 ++-- ++ 2 files changed, 15 insertions(+), 15 deletions(-) ++ ++diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst ++index 0295095..1c46064 100644 ++--- instsetoo_native/util/openoffice.lst +++++ instsetoo_native/util/openoffice.lst ++@@ -5,7 +5,7 @@ Globals ++ variables ++ { ++ OOOBASEVERSION 3.3 ++- OOOPACKAGEVERSION 3.3.3 +++ OOOPACKAGEVERSION 3.3.4 ++ UREPACKAGEVERSION 1.7.0 ++ URELAYERVERSION 1 ++ BASISROOTNAME LibreOffice ++@@ -62,7 +62,7 @@ LibreOffice ++ POSTVERSIONEXTENSIONUNIX ++ BRANDPACKAGEVERSION 3 ++ USERDIRPRODUCTVERSION 3 ++- ABOUTBOXPRODUCTVERSION 3.3.3 +++ ABOUTBOXPRODUCTVERSION 3.3.4 ++ BASEPRODUCTVERSION 3.3 ++ PCPFILENAME openoffice.pcp ++ UPDATEURL http://update.libreoffice.org/ProductUpdateService/check.Update ++@@ -74,7 +74,7 @@ LibreOffice ++ FILEFORMATNAME OpenOffice.org ++ FILEFORMATVERSION 1.0 ++ WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1 ++- PACKAGEVERSION 3.3.3 +++ PACKAGEVERSION 3.3.4 ++ PACKAGEREVISION {milestone} ++ LICENSENAME LGPL ++ SERVICESPROJEKT 1 ++@@ -131,7 +131,7 @@ LibreOffice_wJRE ++ POSTVERSIONEXTENSIONUNIX ++ BRANDPACKAGEVERSION 3 ++ USERDIRPRODUCTVERSION 3 ++- ABOUTBOXPRODUCTVERSION 3.3.3 +++ ABOUTBOXPRODUCTVERSION 3.3.4 ++ BASEPRODUCTVERSION 3.3 ++ UPDATEURL http://update.libreoffice.org/ProductUpdateService/check.Update ++ ODFNOTIFYURL http://odfnotify.libreoffice.org/OOo3.0/notification.jsp?version=ODF ++@@ -142,7 +142,7 @@ LibreOffice_wJRE ++ FILEFORMATNAME OpenOffice.org ++ FILEFORMATVERSION 1.0 ++ WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1 ++- PACKAGEVERSION 3.3.3 +++ PACKAGEVERSION 3.3.4 ++ PACKAGEREVISION {milestone} ++ LICENSENAME LGPL ++ SERVICESPROJEKT 1 ++@@ -198,7 +198,7 @@ LibreOffice_Dev ++ POSTVERSIONEXTENSIONUNIX ++ BRANDPACKAGEVERSION 3 ++ USERDIRPRODUCTVERSION 3 ++- ABOUTBOXPRODUCTVERSION 3.3.3 +++ ABOUTBOXPRODUCTVERSION 3.3.4 ++ BASEPRODUCTVERSION 3.3 ++ DEVELOPMENTPRODUCT 1 ++ BASISPACKAGEPREFIX libobasis-dev ++@@ -213,7 +213,7 @@ LibreOffice_Dev ++ FILEFORMATNAME OpenOffice.org ++ FILEFORMATVERSION 1.0 ++ WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1 ++- PACKAGEVERSION 3.3.3 +++ PACKAGEVERSION 3.3.4 ++ PACKAGEREVISION {milestone} ++ LICENSENAME LGPL ++ SERVICESPROJEKT 1 ++@@ -314,7 +314,7 @@ LibreOffice_SDK ++ POSTVERSIONEXTENSION SDK ++ POSTVERSIONEXTENSIONUNIX sdk ++ BRANDPACKAGEVERSION 3 ++- PACKAGEVERSION 3.3.3 +++ PACKAGEVERSION 3.3.4 ++ PACKAGEREVISION {milestone} ++ PACK_INSTALLED 1 ++ POOLPRODUCT 0 ++@@ -361,7 +361,7 @@ LibreOffice_Dev_SDK ++ POSTVERSIONEXTENSION SDK ++ POSTVERSIONEXTENSIONUNIX sdk ++ BRANDPACKAGEVERSION 3 ++- PACKAGEVERSION 3.3.3 +++ PACKAGEVERSION 3.3.4 ++ PACKAGEREVISION {milestone} ++ BASISPACKAGEPREFIX libobasis-dev ++ UREPACKAGEPREFIX lodev ++@@ -412,7 +412,7 @@ OxygenOffice ++ POSTVERSIONEXTENSIONUNIX ++ BRANDPACKAGEVERSION 3 ++ USERDIRPRODUCTVERSION 3 ++- ABOUTBOXPRODUCTVERSION 3.3.3 +++ ABOUTBOXPRODUCTVERSION 3.3.4 ++ BASEPRODUCTVERSION 3.3 ++ PCPFILENAME openoffice.pcp ++ UPDATEURL http://update.libreoffice.org/ProductUpdateService/check.Update ++@@ -424,7 +424,7 @@ OxygenOffice ++ FILEFORMATNAME OpenOffice.org ++ FILEFORMATVERSION 1.0 ++ WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1 ++- PACKAGEVERSION 3.3.3 +++ PACKAGEVERSION 3.3.4 ++ PACKAGEREVISION {milestone} ++ LICENSENAME LGPL ++ SERVICESPROJEKT 1 ++@@ -481,7 +481,7 @@ OxygenOffice_wJRE ++ POSTVERSIONEXTENSIONUNIX ++ BRANDPACKAGEVERSION 3 ++ USERDIRPRODUCTVERSION 3 ++- ABOUTBOXPRODUCTVERSION 3.3.3 +++ ABOUTBOXPRODUCTVERSION 3.3.4 ++ BASEPRODUCTVERSION 3.3 ++ UPDATEURL http://update.libreoffice.org/ProductUpdateService/check.Update ++ ODFNOTIFYURL http://odfnotify.libreoffice.org/OOo3.0/notification.jsp?version=ODF ++@@ -492,7 +492,7 @@ OxygenOffice_wJRE ++ FILEFORMATNAME OpenOffice.org ++ FILEFORMATVERSION 1.0 ++ WRITERCOMPATIBILITYVERSIONOOO11 OpenOffice.org 1.1 ++- PACKAGEVERSION 3.3.3 +++ PACKAGEVERSION 3.3.4 ++ PACKAGEREVISION {milestone} ++ LICENSENAME LGPL ++ SERVICESPROJEKT 1 ++diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk ++index 7cc93cc..460c827 100644 ++--- solenv/inc/minor.mk +++++ solenv/inc/minor.mk ++@@ -1,5 +1,5 @@ ++ RSCVERSION=330 ++-RSCREVISION=330m19(Build:301) ++-BUILD=301 +++RSCREVISION=330m19(Build:401) +++BUILD=401 ++ LAST_MINOR=m19 ++ SOURCEVERSION=OOO330 ++-- ++1.7.5.4 ++ ++From da00d21426b1480e47732bd6721b7ac0fccf220b Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com> ++Date: Wed, 27 Jul 2011 10:56:26 +0100 ++Subject: [calc 1/2] Resolves: fdo#38955 set selection request as done for ++ macro recorder ++ ++Signed-off-by: Kohei Yoshida <kyosh...@novell.com> ++--- ++ sc/source/ui/view/cellsh4.cxx | 1 + ++ 1 files changed, 1 insertions(+), 0 deletions(-) ++ ++diff --git a/sc/source/ui/view/cellsh4.cxx b/sc/source/ui/view/cellsh4.cxx ++index 894bee3..5ed77cb 100644 ++--- sc/source/ui/view/cellsh4.cxx +++++ sc/source/ui/view/cellsh4.cxx ++@@ -275,6 +275,7 @@ void ScCellShell::ExecuteCursorSel( SfxRequest& rReq ) ++ ; ++ } ++ pViewShell->ShowAllCursors(); +++ rReq.Done(); ++ } ++ ++ void ScCellShell::ExecuteMove( SfxRequest& rReq ) ++-- ++1.7.5.4 ++ ++From 073f29a8e976507494ea7a63f30d8617684fe660 Mon Sep 17 00:00:00 2001 ++From: Korrawit Pruegsanusak <detective.conan.1...@gmail.com> ++Date: Thu, 23 Jun 2011 22:15:16 +0700 ++Subject: [help 1/3] Update the operation of delete and backspace key ++ fdo#31652 ++ ++The operation of these two buttons are interchanged, so help needs update. ++Released under LGPLv3+/MPL ++(cherry picked from commit cf330b6e18030da5fb0d60c8bc9f9aa6f2bb824e) ++--- ++ helpcontent2/source/text/scalc/01/02150000.xhp | 4 ++-- ++ 1 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/helpcontent2/source/text/scalc/01/02150000.xhp b/helpcontent2/source/text/scalc/01/02150000.xhp ++index 6ccb1e4..b7e71f4 100644 ++--- helpcontent2/source/text/scalc/01/02150000.xhp +++++ helpcontent2/source/text/scalc/01/02150000.xhp ++@@ -52,8 +52,8 @@ ++ <section id="howtoget"> ++ <embed href="text/scalc/00/00000402.xhp#binhalt"/> ++ </section> ++-<paragraph role="tip" id="par_id3159154" xml-lang="en-US" l10n="U" oldref="21">This dialog is also called by pressing Del after the cell cursor has been activated on the sheet.</paragraph> ++-<paragraph role="tip" id="par_id3145367" xml-lang="en-US" l10n="U" oldref="22">Pressing Backspace deletes content without calling the dialog or changing formats.</paragraph> +++<paragraph role="tip" id="par_id3159154" xml-lang="en-US" l10n="U" oldref="21">This dialog is also called by pressing Backspace after the cell cursor has been activated on the sheet.</paragraph> +++<paragraph role="tip" id="par_id3145367" xml-lang="en-US" l10n="U" oldref="22">Pressing Delete deletes content without calling the dialog or changing formats.</paragraph> ++ <paragraph role="tip" id="par_id3153951" xml-lang="en-US" l10n="U" oldref="23">Use <emph>Cut</emph> on the Standard bar to delete contents and formats without the dialog.</paragraph> ++ <paragraph role="heading" id="hd_id3148575" xml-lang="en-US" level="2" l10n="U" oldref="3">Selection</paragraph> ++ <paragraph role="paragraph" id="par_id3149665" xml-lang="en-US" l10n="U" oldref="4">This area lists the options for deleting contents.</paragraph> ++-- ++1.7.5.4 ++ ++ ++From 2bde981b87507d2a25233e1d6c1d3f01377c3564 Mon Sep 17 00:00:00 2001 ++From: Andras Timar <ati...@suse.com> ++Date: Fri, 24 Jun 2011 12:12:59 +0200 ++Subject: [help 2/3] Revert "Update the operation of delete and backspace key ++ fdo#31652" ++ ++This reverts commit 073f29a8e976507494ea7a63f30d8617684fe660. ++it broke string freeze ++--- ++ helpcontent2/source/text/scalc/01/02150000.xhp | 4 ++-- ++ 1 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/helpcontent2/source/text/scalc/01/02150000.xhp b/helpcontent2/source/text/scalc/01/02150000.xhp ++index b7e71f4..6ccb1e4 100644 ++--- helpcontent2/source/text/scalc/01/02150000.xhp +++++ helpcontent2/source/text/scalc/01/02150000.xhp ++@@ -52,8 +52,8 @@ ++ <section id="howtoget"> ++ <embed href="text/scalc/00/00000402.xhp#binhalt"/> ++ </section> ++-<paragraph role="tip" id="par_id3159154" xml-lang="en-US" l10n="U" oldref="21">This dialog is also called by pressing Backspace after the cell cursor has been activated on the sheet.</paragraph> ++-<paragraph role="tip" id="par_id3145367" xml-lang="en-US" l10n="U" oldref="22">Pressing Delete deletes content without calling the dialog or changing formats.</paragraph> +++<paragraph role="tip" id="par_id3159154" xml-lang="en-US" l10n="U" oldref="21">This dialog is also called by pressing Del after the cell cursor has been activated on the sheet.</paragraph> +++<paragraph role="tip" id="par_id3145367" xml-lang="en-US" l10n="U" oldref="22">Pressing Backspace deletes content without calling the dialog or changing formats.</paragraph> ++ <paragraph role="tip" id="par_id3153951" xml-lang="en-US" l10n="U" oldref="23">Use <emph>Cut</emph> on the Standard bar to delete contents and formats without the dialog.</paragraph> ++ <paragraph role="heading" id="hd_id3148575" xml-lang="en-US" level="2" l10n="U" oldref="3">Selection</paragraph> ++ <paragraph role="paragraph" id="par_id3149665" xml-lang="en-US" l10n="U" oldref="4">This area lists the options for deleting contents.</paragraph> ++-- ++1.7.5.4 ++ ++From eba378ee13564125a8b6ee522901d586f9bb78f5 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com> ++Date: Wed, 6 Jul 2011 13:41:52 +0100 ++Subject: [libs-gui 1/3] handle busted emf lengths ++ ++Conflicts: ++ ++ svtools/source/filter.vcl/wmf/enhwmf.cxx ++--- ++ svtools/source/filter.vcl/wmf/enhwmf.cxx | 35 ++++++++++++++++++------------ ++ 1 files changed, 21 insertions(+), 14 deletions(-) ++ ++diff --git a/svtools/source/filter.vcl/wmf/enhwmf.cxx b/svtools/source/filter.vcl/wmf/enhwmf.cxx ++index 1dd5c64..2406de9 100644 ++--- svtools/source/filter.vcl/wmf/enhwmf.cxx +++++ svtools/source/filter.vcl/wmf/enhwmf.cxx ++@@ -261,22 +261,27 @@ void EnhWMFReader::ReadEMFPlusComment(sal_uInt32 length, sal_Bool& bHaveDC) ++ } ++ bEMFPlus = true; ++ +++ sal_Size pos = pWMF->Tell(); ++ void *buffer = malloc( length ); ++- ++- int pos = pWMF->Tell(); ++ pOut->PassEMFPlus( buffer, pWMF->Read( buffer, length ) ); +++ free( buffer ); ++ pWMF->Seek( pos ); ++ ++ bHaveDC = false; ++ ++- length -= 4; +++ OSL_ASSERT(length >= 4); +++ //reduce by 32bit length itself, skip in SeekRel if +++ //impossibly unavailble +++ sal_uInt32 nRemainder = length >= 4 ? length-4 : length; ++ ++- while (length > 0) { ++- UINT16 type, flags; ++- UINT32 size, dataSize; ++- sal_uInt32 next; +++ const size_t nRequiredHeaderSize = 12; +++ while (nRemainder > nRequiredHeaderSize) +++ { +++ sal_uInt16 type(0), flags(0); +++ sal_uInt32 size(0), dataSize(0); ++ ++ *pWMF >> type >> flags >> size >> dataSize; +++ nRemainder -= nRequiredHeaderSize; ++ ++ EMFP_DEBUG(printf ("\t\tEMF+ record type: %d\n", type)); ++ ++@@ -286,14 +291,16 @@ void EnhWMFReader::ReadEMFPlusComment(sal_uInt32 length, sal_Bool& bHaveDC) ++ EMFP_DEBUG(printf ("\t\tEMF+ lock DC (device context)\n", type)); ++ } ++ ++- next = pWMF->Tell() + ( size - 12 ); ++- ++- length -= size; ++- ++- pWMF->Seek( next ); +++ //Get the length of the remaining data of this record based +++ //on the alleged size +++ sal_uInt32 nRemainingRecordData = size >= nRequiredHeaderSize ? +++ size-nRequiredHeaderSize : 0; +++ //clip to available size +++ nRemainingRecordData = std::min(nRemainingRecordData, nRemainder); +++ pWMF->SeekRel(nRemainingRecordData); +++ nRemainder -= nRemainingRecordData; ++ } ++- ++- free( buffer ); +++ pWMF->SeekRel(nRemainder); ++ } ++ ++ void EnhWMFReader::ReadGDIComment() ++-- ++1.7.5.4 ++ ++ ++From a935029385159ee137418730363257599f67e5d6 Mon Sep 17 00:00:00 2001 ++From: Radek Doulik <r...@novell.com> ++Date: Mon, 11 Jul 2011 20:36:47 +0200 ++Subject: [libs-gui 2/3] fix regression in SvGlobalName::operator < ++MIME-Version: 1.0 ++Content-Type: text/plain; charset=UTF-8 ++Content-Transfer-Encoding: 8bit ++ ++ - it was comparing wrong parts and ommiting part of ID's, resulting ++ in wrong results and thus ::std::map didn't work well with default ++ less compare function of it's keys ++ - fixes fdo#32709 ++(cherry picked from commit 345dc7961bc142f167a1b8e5f43f4439e8234f06) ++ ++Signed-off-by: Caolán McNamara <caol...@redhat.com> ++--- ++ tools/source/ref/globname.cxx | 4 ++-- ++ 1 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/tools/source/ref/globname.cxx b/tools/source/ref/globname.cxx ++index 7a7f5c5..c78aeb5 100644 ++--- tools/source/ref/globname.cxx +++++ tools/source/ref/globname.cxx ++@@ -208,10 +208,10 @@ BOOL SvGlobalName::operator < ( const SvGlobalName & rObj ) const ++ else if( Data2_a == Data2_b ) ++ { ++ sal_uInt32 Data1_a; ++- memcpy(&Data1_a, pImp->szData+4, sizeof(sal_uInt32)); +++ memcpy(&Data1_a, pImp->szData, sizeof(sal_uInt32)); ++ ++ sal_uInt32 Data1_b; ++- memcpy(&Data1_b, rObj.pImp->szData+4, sizeof(sal_uInt32)); +++ memcpy(&Data1_b, rObj.pImp->szData, sizeof(sal_uInt32)); ++ ++ return Data1_a < Data1_b; ++ } ++-- ++1.7.5.4 ++ ++From c450ac7031cd7a2146380b6664df24fd9d2b995c Mon Sep 17 00:00:00 2001 ++From: Korrawit Pruegsanusak <detective.conan.1...@gmail.com> ++Date: Wed, 22 Jun 2011 00:30:51 +0700 ++Subject: [writer 1/8] Fix for fdo#30550, character count without spaces ++ ++Instantiating aScanner should set bClip to be true. This will make the ++boundaries correct. ++ ++Released under LGPLv3+/MPL ++ ++Signed-off-by: Tor Lillqvist <tlillqv...@novell.com> ++--- ++ sw/source/core/txtnode/txtedt.cxx | 2 +- ++ 1 files changed, 1 insertions(+), 1 deletions(-) ++ ++diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx ++index cc03200..a7a2182 100644 ++--- sw/source/core/txtnode/txtedt.cxx +++++ sw/source/core/txtnode/txtedt.cxx ++@@ -1908,7 +1908,7 @@ void SwTxtNode::CountWords( SwDocStat& rStat, ++ const String aScannerText( aExpandText ); ++ SwScanner aScanner( *this, aScannerText, 0, pConversionMap, ++ i18n::WordType::WORD_COUNT, ++- (xub_StrLen)nExpandBegin, (xub_StrLen)nExpandEnd ); +++ (xub_StrLen)nExpandBegin, (xub_StrLen)nExpandEnd, true ); ++ ++ const rtl::OUString aBreakWord( CH_TXTATR_BREAKWORD ); ++ ++-- ++1.7.5.4 ++ ++ ++From 3618ffd1b6bc96beabd041e6eabac04c44286c2b Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com> ++Date: Wed, 8 Jun 2011 14:32:06 +0100 ++Subject: [writer 2/8] fix loss of init on merge ++ ++--- ++ sw/source/filter/ww8/ww8scan.cxx | 2 +- ++ 1 files changed, 1 insertions(+), 1 deletions(-) ++ ++diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx ++index f781e01..89a0191 100644 ++--- sw/source/filter/ww8/ww8scan.cxx +++++ sw/source/filter/ww8/ww8scan.cxx ++@@ -2033,7 +2033,7 @@ String WW8ReadPString(SvStream& rStrm, rtl_TextEncoding eEnc, ++ ++ String WW8Read_xstz(SvStream& rStrm, USHORT nChars, bool bAtEndSeekRel1) ++ { ++- UINT16 b; +++ UINT16 b(0); ++ ++ if( nChars ) ++ b = nChars; ++-- ++1.7.5.4 ++ ++ ++From 9440761513d7f1af7ba0a70e2afc8b5384af76d7 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com> ++Date: Fri, 4 Mar 2011 09:14:42 +0000 ++Subject: [writer 3/8] valgrind: init some values ++ ++--- ++ sw/source/filter/ww8/ww8par3.cxx | 6 +++--- ++ 1 files changed, 3 insertions(+), 3 deletions(-) ++ ++diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx ++index ce066fc..ea5206a 100644 ++--- sw/source/filter/ww8/ww8par3.cxx +++++ sw/source/filter/ww8/ww8par3.cxx ++@@ -525,8 +525,8 @@ bool WW8ListManager::ReadLVL(SwNumFmt& rNumFmt, SfxItemSet*& rpItemSet, ++ std::deque<bool> &rNotReallyThere, sal_uInt16 nLevel, ++ ww::bytes &rParaSprms) ++ { ++- sal_uInt8 aBits1; ++- sal_uInt16 nStartNo = 0; // Start-Nr. fuer den Writer +++ sal_uInt8 aBits1(0); +++ sal_uInt16 nStartNo(0); // Start-Nr. fuer den Writer ++ SvxExtNumType eType; // Writer-Num-Typ ++ SvxAdjust eAdj; // Ausrichtung (Links/rechts/zent.) ++ sal_Unicode cBullet(0x2190); // default safe bullet ++@@ -560,7 +560,7 @@ bool WW8ListManager::ReadLVL(SwNumFmt& rNumFmt, SfxItemSet*& rpItemSet, ++ if( !bLVLOkB ) ++ return false; ++ ++- sal_uInt8 ixchFollow; +++ sal_uInt8 ixchFollow(0); ++ rSt >> ixchFollow; ++ if (ixchFollow == 0) ++ rReader.maTracer.Log(sw::log::eTabInNumbering); ++-- ++1.7.5.4 ++ ++ ++From 4477188bd8da6fd3a6fa4b6e2044a5ef81c247e7 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com> ++Date: Fri, 17 Jun 2011 23:48:50 +0100 ++Subject: [writer 4/8] merge these sprm finders and do it right ++ ++--- ++ sw/source/filter/ww8/ww8par2.cxx | 16 +--------------- ++ sw/source/filter/ww8/ww8par3.cxx | 15 +-------------- ++ sw/source/filter/ww8/ww8scan.cxx | 21 +++++++++++++++++++++ ++ sw/source/filter/ww8/ww8scan.hxx | 5 +++++ ++ 4 files changed, 28 insertions(+), 29 deletions(-) ++ ++diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx ++index d5a73b9..c9f92d8 100644 ++--- sw/source/filter/ww8/ww8par2.cxx +++++ sw/source/filter/ww8/ww8par2.cxx ++@@ -3775,21 +3775,7 @@ const BYTE* WW8RStyle::HasParaSprm( USHORT nId ) const ++ if( !pParaSprms || !nSprmsLen ) ++ return 0; ++ ++- const BYTE* pSprms = pParaSprms; ++- USHORT i, x; ++- ++- for( i=0; i < nSprmsLen; ) ++- { ++- USHORT nAktId = maSprmParser.GetSprmId(pSprms); ++- // Sprm found ? ++- if( nAktId == nId ) ++- return pSprms + maSprmParser.DistanceToData(nId); ++- ++- x = maSprmParser.GetSprmSize(nAktId, pSprms); ++- i = i + x; ++- pSprms += x; ++- } ++- return 0; // Sprm not found +++ return maSprmParser.findSprmData(nId, pParaSprms, nSprmsLen); ++ } ++ ++ void WW8RStyle::ImportSprms(BYTE *pSprms, short nLen, bool bPap) ++diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx ++index ea5206a..aa28596 100644 ++--- sw/source/filter/ww8/ww8par3.cxx +++++ sw/source/filter/ww8/ww8par3.cxx ++@@ -471,20 +471,7 @@ SV_IMPL_PTRARR( WW8LFOInfos, WW8LFOInfo_Ptr ); ++ sal_uInt8* WW8ListManager::GrpprlHasSprm(sal_uInt16 nId, sal_uInt8& rSprms, ++ sal_uInt8 nLen) ++ { ++- sal_uInt8* pSprms = &rSprms; ++- USHORT i=0; ++- while (i < nLen) ++- { ++- sal_uInt16 nAktId = maSprmParser.GetSprmId(pSprms); ++- if( nAktId == nId ) // Sprm found ++- return pSprms + maSprmParser.DistanceToData(nId); ++- ++- // gib Zeiger auf Daten ++- USHORT x = maSprmParser.GetSprmSize(nAktId, pSprms); ++- i = i + x; ++- pSprms += x; ++- } ++- return 0; // Sprm not found +++ return maSprmParser.findSprmData(nId, &rSprms, nLen); ++ } ++ ++ class ListWithId : public std::unary_function<const WW8LSTInfo *, bool> ++diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx ++index 89a0191..cd87f58 100644 ++--- sw/source/filter/ww8/ww8scan.cxx +++++ sw/source/filter/ww8/ww8scan.cxx ++@@ -7374,6 +7374,27 @@ USHORT wwSprmParser::DistanceToData(USHORT nId) const ++ return 1 + mnDelta + SprmDataOfs(nId); ++ } ++ +++sal_uInt8* wwSprmParser::findSprmData(sal_uInt16 nId, sal_uInt8* pSprms, +++ sal_uInt16 nLen) const +++{ +++ while (nLen > (getVersion()?1:0)) +++ { +++ sal_uInt16 nAktId = GetSprmId(pSprms); +++ if (nAktId == nId) // Sprm found +++ return pSprms + DistanceToData(nId); +++ +++ // gib Zeiger auf Daten +++ sal_uInt16 nSize = GetSprmSize(nAktId, pSprms); +++ OSL_ENSURE(nSize <= nLen, "sprm longer than remaining bytes"); +++ //Clip to available size if wrong +++ nSize = std::min(nSize, nLen); +++ pSprms += nSize; +++ nLen -= nSize; +++ } +++ // Sprm not found +++ return 0; +++} +++ ++ SEPr::SEPr() : ++ bkc(2), fTitlePage(0), fAutoPgn(0), nfcPgn(0), fUnlocked(0), cnsPgn(0), ++ fPgnRestart(0), fEndNote(1), lnc(0), grpfIhdt(0), nLnnMod(0), dxaLnn(0), ++diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx ++index 7e29e0a..c079e8c 100644 ++--- sw/source/filter/ww8/ww8scan.hxx +++++ sw/source/filter/ww8/ww8scan.hxx ++@@ -146,6 +146,11 @@ public: ++ /// The minimum acceptable sprm len possible for this type of parser ++ int MinSprmLen() const { return (IsSevenMinus(meVersion)) ? 2 : 3; } ++ +++ /// Returns the offset to data of the first sprm of id nId, 0 +++ // if not found. nLen must be the <= length of pSprms +++ sal_uInt8* findSprmData(sal_uInt16 nId, sal_uInt8* pSprms, sal_uInt16 nLen) +++ const; +++ ++ inline int getVersion() const { return meVersion; } //cmc, I'm dubious about the usage of this, how can it be 0 ++ }; ++ ++-- ++1.7.5.4 ++ ++ ++From c28968f2eae35cae76594fc9ef2434667c26fffe Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com> ++Date: Sat, 2 Jul 2011 01:55:56 +0100 ++Subject: [writer 5/8] Related: fdo#37057 use standard sprm iterator ++ ++--- ++ sw/source/filter/ww8/ww8par2.cxx | 8 ++++---- ++ 1 files changed, 4 insertions(+), 4 deletions(-) ++ ++diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx ++index c9f92d8..c26db3d 100644 ++--- sw/source/filter/ww8/ww8par2.cxx +++++ sw/source/filter/ww8/ww8par2.cxx ++@@ -3789,11 +3789,11 @@ void WW8RStyle::ImportSprms(BYTE *pSprms, short nLen, bool bPap) ++ nSprmsLen = nLen; ++ } ++ ++- while ( nLen > 0 ) +++ WW8SprmIter aSprmIter(pSprms, nLen, maSprmParser); +++ while (const sal_uInt8* pSprm = aSprmIter.GetSprms()) ++ { ++- USHORT nL1 = pIo->ImportSprm(pSprms); ++- nLen = nLen - nL1; ++- pSprms += nL1; +++ pIo->ImportSprm(pSprm); +++ aSprmIter.advance(); ++ } ++ ++ pParaSprms = 0; ++-- ++1.7.5.4 ++ ++ ++From 48d9ab395df1b005d9595908317c843cdc007683 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com> ++Date: Sun, 19 Jun 2011 22:09:17 +0100 ++Subject: [writer 6/8] Resolves: #i118018# fExtChar affects only < 8 (if at ++ all) ++ ++--- ++ sw/source/filter/ww8/ww8scan.cxx | 44 +++++++++++++++++++++---------------- ++ 1 files changed, 25 insertions(+), 19 deletions(-) ++ ++diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx ++index cd87f58..4bfba2c 100644 ++--- sw/source/filter/ww8/ww8scan.cxx +++++ sw/source/filter/ww8/ww8scan.cxx ++@@ -1491,7 +1491,12 @@ WW8_CP WW8ScannerBase::WW8Fc2Cp( WW8_FC nFcPos ) const ++ if( nFcPos == WW8_FC_MAX ) ++ return nFallBackCpEnd; ++ ++- bool bIsUnicode = false; +++ bool bIsUnicode; +++ if (pWw8Fib->nVersion >= 8) +++ bIsUnicode = false; +++ else +++ bIsUnicode = pWw8Fib->fExtChar ? true : false; +++ ++ if( pPieceIter ) // Complex File ? ++ { ++ ULONG nOldPos = pPieceIter->GetIdx(); ++@@ -1514,8 +1519,7 @@ WW8_CP WW8ScannerBase::WW8Fc2Cp( WW8_FC nFcPos ) const ++ } ++ else ++ { ++- if (pWw8Fib->fExtChar) ++- bIsUnicode=true; +++ bIsUnicode = pWw8Fib->fExtChar ? true : false; ++ } ++ INT32 nLen = (nCpEnd - nCpStart) * (bIsUnicode ? 2 : 1); ++ ++@@ -1550,10 +1554,14 @@ WW8_CP WW8ScannerBase::WW8Fc2Cp( WW8_FC nFcPos ) const ++ */ ++ return nFallBackCpEnd; ++ } ++- // No complex file ++- if (pWw8Fib->fExtChar) ++- bIsUnicode=true; ++- return ((nFcPos - pWw8Fib->fcMin) / (bIsUnicode ? 2 : 1)); +++ +++ // No complex file +++ if (!bIsUnicode) +++ nFallBackCpEnd = (nFcPos - pWw8Fib->fcMin); +++ else +++ nFallBackCpEnd = (nFcPos - pWw8Fib->fcMin + 1) / 2; +++ +++ return nFallBackCpEnd; ++ } ++ ++ WW8_FC WW8ScannerBase::WW8Cp2Fc(WW8_CP nCpPos, bool* pIsUnicode, ++@@ -1568,8 +1576,14 @@ WW8_FC WW8ScannerBase::WW8Cp2Fc(WW8_CP nCpPos, bool* pIsUnicode, ++ if( !pIsUnicode ) ++ pIsUnicode = &bIsUnicode; ++ +++ if (pWw8Fib->nVersion >= 8) +++ *pIsUnicode = false; +++ else +++ *pIsUnicode = pWw8Fib->fExtChar ? true : false; +++ ++ if( pPieceIter ) ++- { // Complex File +++ { +++ // Complex File ++ if( pNextPieceCp ) ++ *pNextPieceCp = WW8_CP_MAX; ++ ++@@ -1597,14 +1611,10 @@ WW8_FC WW8ScannerBase::WW8Cp2Fc(WW8_CP nCpPos, bool* pIsUnicode, ++ *pNextPieceCp = nCpEnd; ++ ++ WW8_FC nRet = SVBT32ToUInt32( ((WW8_PCD*)pData)->fc ); ++- if (8 > pWw8Fib->nVersion) ++- if (pWw8Fib->fExtChar) ++- *pIsUnicode=true; ++- else ++- *pIsUnicode = false; ++- else +++ if (pWw8Fib->nVersion >= 8) ++ nRet = WW8PLCFx_PCD::TransformPieceAddress( nRet, *pIsUnicode ); ++- +++ else +++ *pIsUnicode = pWw8Fib->fExtChar ? true : false; ++ ++ nRet += (nCpPos - nCpStart) * (*pIsUnicode ? 2 : 1); ++ ++@@ -1612,10 +1622,6 @@ WW8_FC WW8ScannerBase::WW8Cp2Fc(WW8_CP nCpPos, bool* pIsUnicode, ++ } ++ ++ // No complex file ++- if (pWw8Fib->fExtChar) ++- *pIsUnicode = true; ++- else ++- *pIsUnicode = false; ++ return pWw8Fib->fcMin + nCpPos * (*pIsUnicode ? 2 : 1); ++ } ++ ++-- ++1.7.5.4 ++ ++ ++From affd275c4546aea23cd9a752f761b34a7bf49061 Mon Sep 17 00:00:00 2001 ++From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lu...@suse.cz> ++Date: Tue, 26 Jul 2011 22:20:57 +0200 ++Subject: [writer 7/8] fix backport ++ ++--- ++ sw/source/filter/ww8/ww8par2.cxx | 2 +- ++ 1 files changed, 1 insertions(+), 1 deletions(-) ++ ++diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx ++index c26db3d..9384773 100644 ++--- sw/source/filter/ww8/ww8par2.cxx +++++ sw/source/filter/ww8/ww8par2.cxx ++@@ -3793,7 +3793,7 @@ void WW8RStyle::ImportSprms(BYTE *pSprms, short nLen, bool bPap) ++ while (const sal_uInt8* pSprm = aSprmIter.GetSprms()) ++ { ++ pIo->ImportSprm(pSprm); ++- aSprmIter.advance(); +++ aSprmIter++; ++ } ++ ++ pParaSprms = 0; ++-- ++1.7.5.4 ++ -- LibreOffice packaging repository -- To UNSUBSCRIBE, email to debian-openoffice-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1r24w1-0007rt...@vasks.debian.org