Apache OpenOffice (AOO) Bugzilla – Issue 108846
sfx2: gtk quick starter is still a bit sick
Last modified: 2017-05-20 10:30:50 UTC
a) Launch quick starter, Close all OOo windows, leaving just the quick starter running. Use Open File, leave the file dialog open. Now use Disable systray quickstarter. Ka-boom. We disable Exit and Open in this scenario, but not disable. Presumably following the modal logic, we should disable "Disable" while the open dialog is open as well b) "soffice -quickstart" doesn't do anything when the gtk quick starter is built. The code in desktop that handles "-quickstart" doesn't know about it. c) Launch quick starter, Close all OOo windows. Now use quick starter's exit menu. That gives exit_quickstarter_cb->ShutdownIcon::terminateDesktop. terminateDesktop will trigger the unload timers. There's no particular reason why those timers mightn't trigger before exit_quickstarter_cb completes, causing the plugin_shutdown_sys_tray to be called after the library has been unloaded. At least that's what I see happening. Moving plugin_shutdown_sys_tray before the call to terminate should be fine. d) In the case where the quick starter is the only owner of the desktop, and we call XDesktop::removeTerminateListener then our ref count drops to 0 and we disappear, so pInst->m_bListenForTermination = true; writes to a deleted object according to valgrind anyway.
Created attachment 67526 [details] suggested fixes
d) is a generic issue AFAICS, not specific to the gtk quickstarter
Patch looks great to me; thanks Caolan :-)
Thanks, Caolan. I will have a look when I got my cws with editeng split through "automatic" testing. Still some miles to go.
*** Issue 108918 has been marked as a duplicate of this issue. ***
Created attachment 70596 [details] update patch for 3.3
Thanks, I will take care for this after my vacation
I committed the minimal (one liner) patch as revision 1181314.
(Ugh.. my last comment corresponded to another issue, sorry.) The shutdowniconunx.cxx issues have already been taken care of as part of another commit. The remainder part of the patch was committed as revision 1194985. Thank you!