diff -r 79de32ba3296 -r 89e065397ea6 src/gui/text/qfont.cpp --- a/src/gui/text/qfont.cpp Fri May 14 16:40:13 2010 +0300 +++ b/src/gui/text/qfont.cpp Thu May 27 13:40:48 2010 +0300 @@ -2612,10 +2612,8 @@ } QT_CATCH (const std::bad_alloc &) { // no cache - just ignore } - if (cache && cache->hasLocalData()) { - cache->localData()->clear(); + if (cache && cache->hasLocalData()) cache->setLocalData(0); - } } #endif // QT_NO_THREAD @@ -2627,6 +2625,7 @@ QFontCache::~QFontCache() { + clear(); { EngineDataCache::ConstIterator it = engineDataCache.constBegin(), end = engineDataCache.constEnd();