diff options
author | Oleh Vasyura <qt-info@nokia.com> | 2010-07-21 10:48:57 (GMT) |
---|---|---|
committer | Jason Barron <jason.barron@nokia.com> | 2010-07-26 12:21:14 (GMT) |
commit | 55625badfab6bfe49c60ab5cd9a586c6bd511579 (patch) | |
tree | a78bcb77579186bca3694f6bc40ae10a86043e41 | |
parent | 42c6ab328e813fcb845524725d81739f2af17aa0 (diff) | |
download | Qt-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
-rw-r--r-- | src/gui/kernel/qapplication_s60.cpp | 2 |
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 |