Issue 108846 - sfx2: gtk quick starter is still a bit sick
Summary: sfx2: gtk quick starter is still a bit sick
Status: CLOSED FIXED
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: DEV300m70
Hardware: All Linux, all
: P3 Trivial (vote)
Target Milestone: 3.4.0
Assignee: Mathias_Bauer
QA Contact: issues@framework
URL:
Keywords:
: 108918 (view as issue list)
Depends on:
Blocks: 90439 105755
  Show dependency tree
 
Reported: 2010-02-02 14:27 UTC by caolanm
Modified: 2017-05-20 10:30 UTC (History)
4 users (show)

See Also:
Issue Type: PATCH
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
suggested fixes (3.01 KB, patch)
2010-02-02 14:28 UTC, caolanm
no flags Details | Diff
update patch for 3.3 (3.08 KB, patch)
2010-07-13 11:14 UTC, caolanm
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description caolanm 2010-02-02 14:27:39 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.
Comment 1 caolanm 2010-02-02 14:28:26 UTC
Created attachment 67526 [details]
suggested fixes
Comment 2 caolanm 2010-02-02 14:29:06 UTC
d) is a generic issue AFAICS, not specific to the gtk quickstarter
Comment 3 mmeeks 2010-02-02 14:42:18 UTC
Patch looks great to me; thanks Caolan :-)
Comment 4 Mathias_Bauer 2010-02-02 17:40:39 UTC
Thanks, Caolan. I will have a look when I got my cws with editeng split through
"automatic" testing. Still some miles to go. 
Comment 5 pmladek 2010-02-04 12:29:05 UTC
*** Issue 108918 has been marked as a duplicate of this issue. ***
Comment 6 caolanm 2010-07-13 11:14:36 UTC
Created attachment 70596 [details]
update patch for 3.3
Comment 7 Mathias_Bauer 2010-07-28 18:19:07 UTC
Thanks, I will take care for this after my vacation
Comment 8 Pedro Giffuni 2011-10-11 00:36:53 UTC
I committed the minimal (one liner) patch as revision 1181314.
Comment 9 Pedro Giffuni 2011-10-29 19:27:20 UTC
(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!