[SCM] LibreOffice packaging repository branch, ubuntu-natty-3.3, updated. libreoffice_3.3.3-1-124-gd8108cd
The following commit has been merged in the ubuntu-natty-3.3 branch:
commit d8108cd921c9ee7f8a268bb25658d2e037362646
Author: Bjoern Michaelsen <bjoern.michaelsen@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.michaelsen@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 <pmladek@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?= <caolanm@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 <kyoshida@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.1412@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 <atimar@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?= <caolanm@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 <rodo@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 <caolanm@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.1412@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 <tlillqvist@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?= <caolanm@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?= <caolanm@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?= <caolanm@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?= <caolanm@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?= <caolanm@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.lunak@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
Reply to: