Summary: | KGlobalAccel dtor crashes during application shutdown. | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | whirm <truewhirm> |
Component: | general | Assignee: | Stephan Kulow <coolo> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kde |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Fix crash by unloading KGlobalAccel prior to GUI shutdown. |
Description
whirm
2007-06-21 15:26:59 UTC
I can confirm this bug, with a slightly different backtrace from JuK (which uses KGlobalAccel extensively). The problem appears to be that QX11Info::display() (called at kdeui/util/kkeyserver_x11.cpp:402) returns 0 during the shutdown sequence for an application. This causes libX11 to crash. Sorry about the noise, I forgot to adjust the bug summary. The "obvious" fix of caching the value of QX11Info::display() does not work. Presumably the GUI interface has been brought down by this point. KGlobalAccel probably needs to be manually destructed in e.g. KApplication. Created attachment 20940 [details]
Fix crash by unloading KGlobalAccel prior to GUI shutdown.
Proposed patch to fix the bug. Fixes the JuK crash at least. It is a simple
patch but it involves adding a function to KApplication to allow programs (and
other parts of KDE) to add cleanup functions to be called in the KApplication
dtor before the GUI is unloaded.
This way applications do not have to manually unload KGlobalAccel (and no hack
has to be added to KGlobalAccel to expose the singleton's destroy method).
I think we can close this one as it is fairly old and most likely fixed. Reopen if you disagree. |