|
|
80f6701 |
From 385694f1e65c1cb8195d39d50c78ea083430b63b Mon Sep 17 00:00:00 2001
|
|
|
80f6701 |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
|
80f6701 |
Date: Thu, 15 Jan 2015 14:43:27 +0000
|
|
|
80f6701 |
Subject: [PATCH] Resolves: rhbz#1162352 SwDataChanged dtor accesses deleted
|
|
|
80f6701 |
PaM
|
|
|
80f6701 |
|
|
|
80f6701 |
an old bug that I finally hit on by typing one paragraph
|
|
|
80f6701 |
of three lines consisting of repeated "Apple " and the cursor
|
|
|
80f6701 |
at position 0 and click the bullet icon
|
|
|
80f6701 |
|
|
|
80f6701 |
(cherry picked from commit 3cb3396e4a4b36e5a05892da16b076feaef6b2b1)
|
|
|
80f6701 |
|
|
|
80f6701 |
Conflicts:
|
|
|
80f6701 |
sw/source/core/doc/docfmt.cxx
|
|
|
80f6701 |
|
|
|
80f6701 |
Change-Id: I90e998561f2645ebfa51423bcaab9a4195144338
|
|
|
80f6701 |
---
|
|
|
80f6701 |
sw/source/core/doc/docfmt.cxx | 10 ++++++----
|
|
|
80f6701 |
1 file changed, 6 insertions(+), 4 deletions(-)
|
|
|
80f6701 |
|
|
|
80f6701 |
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
|
|
|
80f6701 |
index 18e5137..8aa95d4 100644
|
|
|
80f6701 |
--- a/sw/source/core/doc/docfmt.cxx
|
|
|
80f6701 |
+++ b/sw/source/core/doc/docfmt.cxx
|
|
|
80f6701 |
@@ -363,10 +363,10 @@ void SwDoc::ResetAttrs( const SwPaM &rRg,
|
|
|
80f6701 |
}
|
|
|
80f6701 |
|
|
|
80f6701 |
// #i96644#
|
|
|
80f6701 |
- boost::scoped_ptr< SwDataChanged > pDataChanged;
|
|
|
80f6701 |
+ boost::scoped_ptr< SwDataChanged > xDataChanged;
|
|
|
80f6701 |
if ( bSendDataChangedEvents )
|
|
|
80f6701 |
{
|
|
|
80f6701 |
- pDataChanged.reset( new SwDataChanged( *pPam ) );
|
|
|
80f6701 |
+ xDataChanged.reset( new SwDataChanged( *pPam ) );
|
|
|
80f6701 |
}
|
|
|
80f6701 |
SwHistory* pHst = 0;
|
|
|
80f6701 |
if (GetIDocumentUndoRedo().DoesUndo())
|
|
|
80f6701 |
@@ -468,10 +468,12 @@ void SwDoc::ResetAttrs( const SwPaM &rRg,
|
|
|
80f6701 |
GetNodes().ForEach( pStt->nNode, aTmpEnd, lcl_RstTxtAttr, &aPara );
|
|
|
80f6701 |
}
|
|
|
80f6701 |
|
|
|
80f6701 |
+ SetModified();
|
|
|
80f6701 |
+
|
|
|
80f6701 |
+ xDataChanged.reset(); //before delete pPam
|
|
|
80f6701 |
+
|
|
|
80f6701 |
if( pPam != &rRg )
|
|
|
80f6701 |
delete pPam;
|
|
|
80f6701 |
-
|
|
|
80f6701 |
- SetModified();
|
|
|
80f6701 |
}
|
|
|
80f6701 |
|
|
|
80f6701 |
#define DELETECHARSETS if ( bDelete ) { delete pCharSet; delete pOtherSet; }
|
|
|
80f6701 |
--
|
|
|
80f6701 |
1.9.3
|
|
|
80f6701 |
|