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

Armin Le Grand (CIB) <armin.le.gr...@me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|libreoffice-b...@lists.free |armin.le.gr...@me.com
                   |desktop.org                 |

--- Comment #16 from Armin Le Grand (CIB) <armin.le.gr...@me.com> ---
Start is in ScNoteMarker::~ScNoteMarker. It destructs a SdrModel which uses
::ClearModel() which uses ::DeletePage() to destruct the SdrPage(s).
SdrPage is derived from SdrObjList (was already in lo-6-0) which gets deleted
first. That again uses SdrObjList::Clear() which removes and deletes the
SdrObjects from the SdrObjList.

What has changed is that there is no longer a pModel SdrModel* in SdrObjList
that was set to nullptr in SdrObjList::~SdrObjList() in lo-6-0 with the
comment:

    // To avoid that the Clear() method will broadcast changes when in
destruction
    // which would call virtual method (not allowed in destructor), the model
is set
    // to NULL here.

This did change and there is broadcasting now. Not directly a virtual functoin
call, but the broadcasts goes to ScDrawModelBroadcaster::Notify and there
SdrPage::GetUnoPage() is called exactly at the SdrPage that gets destructed.

Thus: Need to find a way not to broadcast in SdrObjList::Clear() when coming
from SdrObjList::~SdrObjList()...

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to