summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2018-02-08 16:50:21 +0100
committerMichael Stahl <mstahl@redhat.com>2018-02-08 16:52:28 +0100
commit8bd6f83741a44509921b9b0fd14611815f6a4dc6 (patch)
treebe3d3fbaec12e25467d114f5817619931973c1e7 /svx
parent38774ce79b4b24628c3a73f387489bf2498363f1 (diff)
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
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdobjplusdata.cxx5
1 files changed, 4 insertions, 1 deletions
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();
}