[Libreoffice-bugs] [Bug 118199] Draw/Impress crashes upon pasting a table from Writer (not on Windows)

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Tue Jul 3 11:01:28 UTC 2018


https://bugs.documentfoundation.org/show_bug.cgi?id=118199

Armin Le Grand (CIB) <Armin.Le.Grand at me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|libreoffice-bugs at lists.free |Armin.Le.Grand at me.com
                   |desktop.org                 |

--- Comment #7 from Armin Le Grand (CIB) <Armin.Le.Grand at me.com> ---
SdrText::~SdrText is called in Model cleanup after SdrTableObj::~SdrTableObj,
so SdrText::mrObject is already dead, but used in Cell::~Cell by using
Cell::dispose by using SetOutlinerParaObject.

Shutdown problem -> each Cell remembers the SdrObject it is based upon. Need a
mechanism to safely discover that the SdrObject is already dead. Note: calling
Cell::SetOutlinerParaObject in dispose() called from destructor is not good
anyways - that's a virtual function.

Problem detected, but how to solve that...?

Compared with libreoffice-6-0: Difference is that mpOutlinerParaObject in
SdrText is already destroyed in SdrText::~SdrText() and in
SdrText::SetOutlinerParaObject a check

    if( mpOutlinerParaObject != pTextObject )

is used, so the critical access to the already destroyed SdrObject does not
happen. A second diff is that mpOutlinerParaObject in master is a
std::unique_ptr<OutlinerParaObject> now.

Thiinking about it...

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20180703/94c2e8cf/attachment.html>


More information about the Libreoffice-bugs mailing list