summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorOleh Vasyura <qt-info@nokia.com>2010-07-21 10:48:57 (GMT)
committerJason Barron <jason.barron@nokia.com>2010-07-26 12:21:14 (GMT)
commit55625badfab6bfe49c60ab5cd9a586c6bd511579 (patch)
treea78bcb77579186bca3694f6bc40ae10a86043e41 /src/gui
parent42c6ab328e813fcb845524725d81739f2af17aa0 (diff)
downloadQt-55625badfab6bfe49c60ab5cd9a586c6bd511579.zip
Qt-55625badfab6bfe49c60ab5cd9a586c6bd511579.tar.gz
Qt-55625badfab6bfe49c60ab5cd9a586c6bd511579.tar.bz2
Fix crash caused by not clearing the QPixmapCache on application exit.
The qt_cleanup() function will call CCoeEnv::DestroyEnvironment() on application shutdown. This destruction will in turn tear down the various server sessions associated with the application. One of these sessions is the FBSERV session and if the QPixmapCache attempts to delete a CFbsBitmap after the session has been destroyed, the app will crash. The solution is call QPixmapCache::cleanup() before we destroy the environment. This is inline with what the other platforms do. Reviewed-by: Jason Barron
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/kernel/qapplication_s60.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 117c1d5..1c06100 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1460,6 +1460,8 @@ void qt_cleanup()
qt_S60Beep = 0;
}
QFontCache::cleanup(); // Has to happen now, since QFontEngineS60 has FBS handles
+ QPixmapCache::clear(); // Has to happen now, since QS60PixmapData has FBS handles
+
qt_cleanup_symbianFontDatabaseExtras();
// S60 structure and window server session are freed in eventdispatcher destructor as they are needed there