diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-12-13 13:41:16 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-12-13 14:28:33 (GMT) |
commit | d5fe82b2ab939727f573429605abd99c039a99d1 (patch) | |
tree | 92a54ba8ef4f3288d8b0ef926eaea75149a71522 /src/gui/kernel | |
parent | aae8f8432856125c94d93a9849914a7c6a7ecc76 (diff) | |
download | Qt-d5fe82b2ab939727f573429605abd99c039a99d1.zip Qt-d5fe82b2ab939727f573429605abd99c039a99d1.tar.gz Qt-d5fe82b2ab939727f573429605abd99c039a99d1.tar.bz2 |
Fix crash when creating more than one QApplication in single test case
CBA pointer is stored in static variable and it wasn't cleaned up
properly at QApplication destruction, which led to crash.
Task-number: QTBUG-15915
Reviewed-by: Sami Merila
Reviewed-by: Janne Koskinen
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qapplication_s60.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 8596563..81fa4e6 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1633,6 +1633,13 @@ void qt_cleanup() //Change mouse pointer back S60->wsSession().SetPointerCursorMode(EPointerCursorNone); +#ifdef Q_WS_S60 + // Clear CBA + CEikonEnv::Static()->AppUiFactory()->SwapButtonGroup(0); + delete S60->buttonGroupContainer(); + S60->setButtonGroupContainer(0); +#endif + if (S60->qtOwnsS60Environment) { // Restore the S60 framework trap handler. See qt_init(). User::SetTrapHandler(S60->s60InstalledTrapHandler); |