To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=99010
------- Additional comments from arie...@openoffice.org Sun Feb 8 15:13:28 +0000 2009 ------- A little explanation about the crash and the proposed patch. On a non-product build is very easy to follow the stack: basically VCLXWindow::dispose checks if the Window is still alive (http://svn.services.openoffice.org/opengrok/xref/DEV300_m40/toolkit/source/awt/vclxwindow.cxx#1135); if so, DestroyOutputDevice() starts the process of destroying it. When an AWT menu bar has been set on the window, all ends in a life time issue: in a non-product build, the vcl Window (http://svn.services.openoffice.org/opengrok/xref/DEV300_m40/vcl/source/window/window.cxx#4492) informs us about a living child window; and OOo will "abort in non-pro version". The crash can be avoid from the client code by setting a null css.awt.XMenuBar on the top window *before* invoking css.lang.XComponent::dispose on the css.awt.XWindow: VCLXTopWindow_Base::setMenuBar (http://svn.services.openoffice.org/opengrok/xref/DEV300_m40/toolkit/source/awt/vclxtopwindow.cxx#151) will always invoke (before even testing if the reference is empty) SystemWindow::SetMenuBar with a NULL arg., and this makes SystemWindow ensure that MenuBar::ImplDestroy is called to destroy the menu bar (http://svn.services.openoffice.org/opengrok/xref/DEV300_m40/vcl/source/window/syswin.cxx#933) To avoid life-time issues with the MenuBar, one has to ensure MenuBar::ImplDestroy is called, and you can do so by setting a NULL MenuBar: the LayoutManager does so in LayoutManager::impl_clearUpMenuBar (http://svn.services.openoffice.org/opengrok/xref/DEV300_m40/framework/source/layoutmanager/layoutmanager.cxx#514). So the proposed patch adds a flag to track when an AWT MenuBar has been set on the AWT XTopWindow. If so, a NULL MenuBar is set on VCLXTopWindow::dispose() in order to solve the life-time issue. --------------------------------------------------------------------- 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: issues-unsubscr...@api.openoffice.org For additional commands, e-mail: issues-h...@api.openoffice.org --------------------------------------------------------------------- To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org For additional commands, e-mail: allbugs-h...@openoffice.org