Bug 121724 - Assert in shutdown/cleanup in SdrObjectLifetimeWatchDog
Summary: Assert in shutdown/cleanup in SdrObjectLifetimeWatchDog
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
6.2.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Assert AW080-Regressions
  Show dependency treegraph
 
Reported: 2018-11-26 17:15 UTC by Xisco Faulí
Modified: 2018-11-26 17:17 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Xisco Faulí 2018-11-26 17:15:02 UTC
This is a follow-up bug of bug 120151 based on https://bugs.documentfoundation.org/show_bug.cgi?id=120151#c20

How to reproduce:
1. open attachment 145212 [details] from bug 120151
2. create a report using the report builder wizard
3. save the changes. 
4. Edit the report by moving a field 
5. LO Base should crash.


Comments from Armin:

----------------------------------------

Objects created by OViewsWindow::BegDragObj_createInvisibleObjectAtPosition are added to m_aBegDragTempList, but never get deleted. That list is just

filled in OViewsWindow::BegDragObj_createInvisibleObjectAtPosition

cleared and re-filled at OViewsWindow::BegDragObj

but never used for any sort of cleanup - looks like an error to me...

----------------------------------------

After change and close win and answering 'no save' in OViewsWindow::~OViewsWindow() still all three D&D objects are in m_aBegDragTempList. That list is <SdrObject*> so no destuct will happen.

The contained SdrObjects do not have a parent - seems as if they get removed from page, at least they seem to be added to page when constructed (see OViewsWindow::BegDragObj_createInvisibleObjectAtPosition - there, rReportSection.getPage()->InsertObject(pNewObj) is called).

Thus it should be possible to find where these get removed from page again...?