https://issues.apache.org/ooo/show_bug.cgi?id=113608
zhang jianfang <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #78326|0 |1 is obsolete| | Attachment #78329|0 |1 is obsolete| | --- Comment #12 from zhang jianfang <[email protected]> --- Created attachment 78355 --> https://issues.apache.org/ooo/attachment.cgi?id=78355&action=edit Final extra patch for the remaining crash problem The direct cause of the crash is SdrObject.mpSvxShape points to a dangling SvxShape object, while the weakreference SdrObject.maWeakUnoShape is correct. The root cause is in SvxShape::Notify(), it sometimes reset the pointer SvxShape.mpObj without notifying SdrObject, then in SvxShape destructor it also has no chance to notify SdrObject to reset the mpSvxShape to the SvxShape object. But it is hard in SvxShape::Notify() to check if the SvxShape.mpObj->mpSvxShape points back to SvxShape object itself, when the SvxShape object doesn't have ownership to the SdrObject. So the safe and quick fix still gets back to the original workaround. I attach this final fix patch. SdrObject.mpSvxShape is only for internal use. I guess it is for cache purpose, so it needn't workout the real pointer to SvxShape object each time when it wants to access it. So I won't try to remove it now. -- You are receiving this mail because: You are on the CC list for the bug.
