[libreoffice/f20] Resolves: rhbz#1117853 nStartPara of EE_PARA_NOT_FOUND

Caolán McNamara caolanm at fedoraproject.org
Fri Jul 18 09:11:19 UTC 2014


commit 6d861349df08331b4389bb9d0ddff65fc1af7b95
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Jul 18 10:11:26 2014 +0100

    Resolves: rhbz#1117853 nStartPara of EE_PARA_NOT_FOUND

 ...z-1117853-nStartPara-of-EE_PARA_NOT_FOUND.patch |   53 --------------------
 ...o-81487-pasting-into-outline-view-crashes.patch |   48 ++++++++++++++++++
 libreoffice.spec                                   |    8 ++--
 3 files changed, 52 insertions(+), 57 deletions(-)
---
diff --git a/0001-Resolves-fdo-81487-pasting-into-outline-view-crashes.patch b/0001-Resolves-fdo-81487-pasting-into-outline-view-crashes.patch
new file mode 100644
index 0000000..4cbecd5
--- /dev/null
+++ b/0001-Resolves-fdo-81487-pasting-into-outline-view-crashes.patch
@@ -0,0 +1,48 @@
+From a5793f5e0013b156600fd718d8f77870a9e73032 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Fri, 18 Jul 2014 09:06:44 +0100
+Subject: [PATCH] Resolves: fdo#81487 pasting into outline view crashes impress
+
+CreateTitleTextObject will call indirectly ImpPageChange which
+triggers tools::EventMultiplexerEvent::EID_PAGE_ORDER and so
+in outlview.cxx without ignore page changes level in action
+the outliner is filled in from the slide contents in
+FillOutliner clearing the outliner contents and filling it
+fresh, but..
+
+a) this hack tower is not prepared for all the outliner
+iterators to become invalid
+b) the contents of this title object is empty, because
+it was just created, and we didn't get a chance to fill
+in its text.
+
+This all works for typing vs pasting because the KeyInput
+uses the OutlineViewPageChangesGuard guard which sets the
+ignore pages changes bit.
+
+So, given that OutlineView::UpdateDocument expects
+the iterators of the outliner to be valid during
+the lifetime of the method lock the full method with
+the OutlineViewPageChangesGuard guard
+
+Change-Id: Iecbf37d54f5f0c5a181be5f27832f769a3d2e389
+---
+ sd/source/ui/view/outlview.cxx | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/sd/source/ui/view/outlview.cxx b/sd/source/ui/view/outlview.cxx
+index 268a32b..a76bb0b 100644
+--- a/sd/source/ui/view/outlview.cxx
++++ b/sd/source/ui/view/outlview.cxx
+@@ -1535,6 +1535,8 @@ void OutlineView::EndModelChange()
+ /** updates all changes in the outliner model to the draw model */
+ void OutlineView::UpdateDocument()
+ {
++    OutlineViewPageChangesGuard aGuard(this);
++
+     const sal_uInt32 nPageCount = mrDoc.GetSdPageCount(PK_STANDARD);
+     Paragraph* pPara = mrOutliner.GetParagraph( 0 );
+     sal_uInt32 nPage;
+-- 
+1.9.3
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 600a6d5..a146113 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -307,7 +307,7 @@ Patch49: 0001-fdo-79151-No-need-to-offset-column-index-by-category.patch
 Patch50: 0001-resolved-fdo-79441-keep-3D-references-intact-during-.patch
 Patch51: 0001-resolved-fdo-77018-keep-external-references-intact-d.patch
 Patch52: 0001-scrolling-very-slow-in-calc.patch
-Patch53: 0001-Related-rhbz-1117853-nStartPara-of-EE_PARA_NOT_FOUND.patch
+Patch53: 0001-Resolves-fdo-81487-pasting-into-outline-view-crashes.patch
 
 %define instdir %{_libdir}
 %define baseinstdir %{instdir}/libreoffice
@@ -2258,9 +2258,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
 %endif
 
 %changelog
-* Thu Jul 17 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.5.2-7-UNBUILT
-- speculative fix for scrolling woes in calc
-- Related: rhbz#1117853 nStartPara of EE_PARA_NOT_FOUND
+* Fri Jul 18 2014 Caolán McNamara <caolanm at redhat.com> - 1:4.2.5.2-8
+- Resolves: rhbz#1117853 nStartPara of EE_PARA_NOT_FOUND
+- Related: rhbz#1089466 speculative fix for scrolling woes in calc
 
 * Tue Jul 15 2014 Eike Rathke <erack at redhat.com> - 1:4.2.5.2-6
 - Resolves: rhbz#1118983 sorting breaks cell references to other sheets


More information about the scm-commits mailing list