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]

Reply via email to