[Libreoffice-commits] core.git: svx/source

Michael Stahl mstahl at redhat.com
Thu Feb 8 15:55:06 UTC 2018


 svx/source/svdraw/svdobjplusdata.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 8bd6f83741a44509921b9b0fd14611815f6a4dc6
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Feb 8 16:50:21 2018 +0100

    svx: fix crash caused by SdrEdgeObj::Notify() not noticing dying object
    
    This can be reproduced by exporting tdf97737-2.odt to DOCX.
    
    Change-Id: I710f8961568aeb5a64fb39eff7c1e3540cbf4976

diff --git a/svx/source/svdraw/svdobjplusdata.cxx b/svx/source/svdraw/svdobjplusdata.cxx
index 0cfaba0fd043..c7a74a5cc4c9 100644
--- a/svx/source/svdraw/svdobjplusdata.cxx
+++ b/svx/source/svdraw/svdobjplusdata.cxx
@@ -24,7 +24,10 @@ SdrObjPlusData::SdrObjPlusData():
 
 SdrObjPlusData::~SdrObjPlusData()
 {
-    pBroadcast.reset();
+    // HACK: the SdrObject::GetBroadcaster() is called during the destructor
+    // in SdrEdgeObj::Notify() so delete first, then clear the pointer
+    delete pBroadcast.get();
+    (void) pBroadcast.release();
     pUserDataList.reset();
     pGluePoints.reset();
 }


More information about the Libreoffice-commits mailing list