Resolves: rhbz#907933 crash on removing second last para
This commit is contained in:
parent
b268abc480
commit
324ce99345
@ -0,0 +1,66 @@
|
||||
From 15d8b51bf82610c663f80fe552a1c0315e137ad3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 5 Feb 2013 17:33:49 +0000
|
||||
Subject: [PATCH] Resolves: rhbz#907933 crash on removing second last para in
|
||||
cell...
|
||||
|
||||
if (basically) the last para is on next page
|
||||
|
||||
Change-Id: Iaff610ea94a829e73bfb8c694a27e0e9b4f6e295
|
||||
Reviewed-on: https://gerrit.libreoffice.org/2012
|
||||
Tested-by: Michael Stahl <mstahl@redhat.com>
|
||||
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
||||
---
|
||||
sw/source/core/inc/tabfrm.hxx | 2 ++
|
||||
sw/source/core/layout/tabfrm.cxx | 20 ++++++++++++++++++++
|
||||
2 files changed, 22 insertions(+)
|
||||
|
||||
diff --git a/sw/source/core/inc/tabfrm.hxx b/sw/source/core/inc/tabfrm.hxx
|
||||
index 464fc9c..1041385 100644
|
||||
--- a/sw/source/core/inc/tabfrm.hxx
|
||||
+++ b/sw/source/core/inc/tabfrm.hxx
|
||||
@@ -151,6 +151,8 @@ public:
|
||||
//
|
||||
sal_Bool HasFollowFlowLine() const { return bHasFollowFlowLine; }
|
||||
void SetFollowFlowLine( sal_Bool bNew ) { bHasFollowFlowLine = bNew; }
|
||||
+ //return the SwTabFrm (if any) that this SwTabFrm is a follow flow line for
|
||||
+ SwTabFrm* GetFollowFlowLineFor();
|
||||
|
||||
sal_Bool IsRebuildLastLine() const { return bIsRebuildLastLine; }
|
||||
void SetRebuildLastLine( sal_Bool bNew ) { bIsRebuildLastLine = bNew; }
|
||||
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
|
||||
index 27ad754..fb23128 100644
|
||||
--- a/sw/source/core/layout/tabfrm.cxx
|
||||
+++ b/sw/source/core/layout/tabfrm.cxx
|
||||
@@ -132,8 +132,28 @@ extern const SwTable *pRowCacheLastTable;
|
||||
extern const SwTabFrm *pRowCacheLastTabFrm;
|
||||
extern const SwFrm *pRowCacheLastCellFrm;
|
||||
|
||||
+//return the SwTabFrm (if any) that this SwTabFrm is a follow flow line for
|
||||
+SwTabFrm* SwTabFrm::GetFollowFlowLineFor()
|
||||
+{
|
||||
+ SwFlowFrm *pPrec = GetPrecede();
|
||||
+ if (pPrec && pPrec->GetFrm()->IsTabFrm())
|
||||
+ {
|
||||
+ SwTabFrm *pPrevTabFrm = (SwTabFrm*)pPrec;
|
||||
+ assert(this == pPrevTabFrm->GetFollow());
|
||||
+ if (pPrevTabFrm->HasFollowFlowLine() && pPrevTabFrm->GetFollow() == this)
|
||||
+ return pPrevTabFrm;
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
SwTabFrm::~SwTabFrm()
|
||||
{
|
||||
+ //rhbz#907933, we are a follow flow line for something and have been
|
||||
+ //deleted, remove ourself as a follow flowline
|
||||
+ SwTabFrm* pFlowFrameFor = GetFollowFlowLineFor();
|
||||
+ if (pFlowFrameFor)
|
||||
+ pFlowFrameFor->RemoveFollowFlowLine();
|
||||
+
|
||||
// There is some terrible code in fetab.cxx, that
|
||||
// makes use of these global pointers. Obviously
|
||||
// this code did not consider that a TabFrm can be
|
||||
--
|
||||
1.8.1.2
|
||||
|
@ -207,14 +207,8 @@ BuildRequires: tomcat-servlet-3.0-api
|
||||
BuildRequires: bsh
|
||||
%if 0%{?rhel} && 0%{?rhel} < 7
|
||||
BuildRequires: hsqldb
|
||||
%ifarch %{ix86} x86_64 s390 s390x
|
||||
BuildRequires: java-devel >= 1:1.6.0
|
||||
%else
|
||||
BuildRequires: java-devel
|
||||
%endif
|
||||
%else
|
||||
BuildRequires: java-devel
|
||||
%endif
|
||||
BuildRequires: jakarta-commons-httpclient
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 7
|
||||
BuildRequires: junit
|
||||
@ -265,6 +259,7 @@ Patch25: 0001-fdo-60491-scp2-always-package-emboleobj-library-on-n.patch
|
||||
Patch26: 0001-Resolves-rhbz-895196-sc-filter-float-a11y-parent-of-.patch
|
||||
Patch27: 0001-do-not-access-vector-elements-beyond-size-rhbz-84751.patch
|
||||
Patch28: 0001-rhbz-742780-Let-make-OPT_FLAGS-.-override-SDK-optimi.patch
|
||||
Patch29: 0001-Resolves-rhbz-907933-crash-on-removing-second-last-p.patch
|
||||
|
||||
%define instdir %{_libdir}
|
||||
%define baseinstdir %{instdir}/libreoffice
|
||||
@ -1016,6 +1011,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
|
||||
%patch26 -p1 -b .rhbz-895196-sc-filter-float-a11y-parent-of-.patch
|
||||
%patch27 -p1 -b .do-not-access-vector-elements-beyond-size-rhbz-84751.patch
|
||||
%patch28 -p1 -b .rhbz-742780-Let-make-OPT_FLAGS-.-override-SDK-optimi.patch
|
||||
%patch29 -p1 -b .rhbz-907933-crash-on-removing-second-last-p.patch
|
||||
|
||||
# TODO: check this
|
||||
# these are horribly incomplete--empty translations and copied english
|
||||
@ -2083,9 +2079,10 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Feb 20 2013 Eike Rathke <erack@redhat.com> - 1:4.0.0.3-8-UNBUILT
|
||||
* Tue Feb 26 2013 Eike Rathke <erack@redhat.com> - 1:4.0.0.3-8
|
||||
- do not access vector elements beyond size, rhbz#847519 related
|
||||
- Resolves: rhbz#742780 let make OPT_FLAGS=... override SDK flags
|
||||
- Resolves: rhbz#907933 crash on removing second last para
|
||||
|
||||
* Tue Feb 19 2013 Caolán McNamara <caolanm@redhat.com> - 1:4.0.0.3-7
|
||||
- Resolves: rhbz#895196 sc filter float a11y parent of itself
|
||||
|
Loading…
x
Reference in New Issue
Block a user