diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index 80fa65daac..0166a06abe 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -121,7 +121,10 @@ Q_GLOBAL_STATIC(IconCache, qtIconCache) static void qt_cleanup_icon_cache() { - qtIconCache()->clear(); + IconCache* cache = qtIconCache(); + if( cache ){ + qtIconCache()->clear(); + } } /*! \internal diff --git a/src/gui/kernel/qtouchdevice.cpp b/src/gui/kernel/qtouchdevice.cpp index 511e92566e..371f2e9326 100644 --- a/src/gui/kernel/qtouchdevice.cpp +++ b/src/gui/kernel/qtouchdevice.cpp @@ -208,8 +208,10 @@ static QBasicMutex devicesMutex; static void cleanupDevicesList() { QMutexLocker lock(&devicesMutex); - qDeleteAll(*deviceList()); - deviceList()->clear(); + if (deviceList()){ + qDeleteAll(*deviceList()); + deviceList()->clear(); + } } /*! diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp index f56be55325..507d8384da 100644 --- a/src/gui/painting/qbrush.cpp +++ b/src/gui/painting/qbrush.cpp @@ -167,7 +167,9 @@ Q_GLOBAL_STATIC(QBrushPatternImageCache, qt_brushPatternImageCache) static void qt_cleanup_brush_pattern_image_cache() { - qt_brushPatternImageCache()->cleanup(); + if(qt_brushPatternImageCache()) { + qt_brushPatternImageCache()->cleanup(); + } } Q_GUI_EXPORT QImage qt_imageForBrush(int brushStyle, bool invert) diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index fe7dd80e44..58e4ac8cbd 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -2620,6 +2620,9 @@ bool QFontDatabase::removeAllApplicationFonts() QMutexLocker locker(fontDatabaseMutex()); QFontDatabasePrivate *db = privateDb(); + if (!db) { + return true; + } if (db->applicationFonts.isEmpty()) return false;