To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=92372 Issue #|92372 Summary|problems with Window::SetParent() and task pane list Component|gsl Version|DEV300m25 Platform|PC URL| OS/Version|Windows, all Status|UNCONFIRMED Status whiteboard| Keywords| Resolution| Issue type|DEFECT Priority|P3 Subcomponent|code Assigned to|pl Reported by|tml
------- Additional comments from [EMAIL PROTECTED] Fri Aug 1 11:35:47 +0000 2008 ------- I am investigating a crash in a use case where OOo Writer is embedded in another application on Windows. The immediate cause for the crash is that TaskPaneList::AddWindow() is called when the TaskPaneList's list of windows (mTaskPanes) contains a pointer to a Window object that has already been deleted. The destructor of the Window class does try to remove the window from its system window's task pane list, but fails. As far as I can see the problem is in Window::SetParent(). In a nutshell, for some reason if the Window has no "border window" (mpWindowImpl->mpBorderWindow == NULL), the SetParent() method doesn't actually change the parent (mpWindowImpl->mpRealParent is not set to pNewParent). Still the TaskPaneList-related code in SetParent removes the Window from its old "system window's" task pane list and adds the Window to the task pane list of the system window of the window that it was asked to reparent to (but didn't). As the code for the Window class is rather complex... I have no idea how to fix this. If I just move the assignment mpWindowImpl->mpRealParent = pNewParent; out of the if ( mpWindowImpl->mpBorderWindow ) test, will something else then break horribly...? --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
