diff options
-rw-r--r-- | src/gui/text/qfont.cpp | 4 | ||||
-rw-r--r-- | src/gui/text/qfont_p.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 3654c28fc5..38462c6e24 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -2950,9 +2950,9 @@ void QFontCache::insertEngine(const Key &key, QFontEngine *engine, bool insertMu data.timestamp = ++current_timestamp; if (insertMulti) - engineCache.insertMulti(key, data); - else engineCache.insert(key, data); + else + engineCache.replace(key, data); // only increase the cost if this is the first time we insert the engine if (++engineCacheCount[engine] == 1) increaseCost(engine->cache_cost); diff --git a/src/gui/text/qfont_p.h b/src/gui/text/qfont_p.h index 09c18de5a6..14c01766ba 100644 --- a/src/gui/text/qfont_p.h +++ b/src/gui/text/qfont_p.h @@ -274,7 +274,7 @@ public: uint hits; }; - typedef QMap<Key,Engine> EngineCache; + typedef QMultiMap<Key,Engine> EngineCache; EngineCache engineCache; QHash<QFontEngine *, int> engineCacheCount; |