summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2010-10-13 13:20:38 (GMT)
committerShane Kearns <shane.kearns@accenture.com>2010-10-18 13:46:16 (GMT)
commit303bb0a3d60c3d7b991ea7829c6dd2c5b3beb9d6 (patch)
tree36e899c680a1993c20d34a1cd7c6acc55b6dc8c2
parent5c5a74aa789a876805dbdb0f58de03c2195c3b97 (diff)
downloadQt-303bb0a3d60c3d7b991ea7829c6dd2c5b3beb9d6.zip
Qt-303bb0a3d60c3d7b991ea7829c6dd2c5b3beb9d6.tar.gz
Qt-303bb0a3d60c3d7b991ea7829c6dd2c5b3beb9d6.tar.bz2
Fix crash in QApplication auto test
The pointer is lazily initialised by QWidget, but becomes invalid after the application is destroyed. In the QApplication autotest, QApplication is created and destroyed many times in the same thread (while in normal use it is created at startup and destroyed on exit) As a result, the pointer which is stored in global data became stale and caused a crash due to calling functions on a deleted object. Reviewed-By: Jason Barron
-rw-r--r--src/gui/kernel/qapplication_s60.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index ad44d21..57702c6 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1613,6 +1613,9 @@ extern void qt_cleanup_symbianFontDatabaseExtras(); // qfontdatabase_s60.cpp
*****************************************************************************/
void qt_cleanup()
{
+#ifdef Q_WS_S60
+ S60->setButtonGroupContainer(0);
+#endif
if(qt_S60Beep) {
delete qt_S60Beep;
qt_S60Beep = 0;