diff options
author | Michael Stahl <mstahl@redhat.com> | 2018-02-08 16:50:21 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2018-02-08 16:52:28 +0100 |
commit | 8bd6f83741a44509921b9b0fd14611815f6a4dc6 (patch) | |
tree | be3d3fbaec12e25467d114f5817619931973c1e7 | |
parent | 38774ce79b4b24628c3a73f387489bf2498363f1 (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
-rw-r--r-- | svx/source/svdraw/svdobjplusdata.cxx | 5 |
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(); } |