From 6476ac738ca029af95932f53b53f0705808eb80e Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Thu, 29 Sep 2011 11:50:08 +0200 Subject: Replace implicit QAtomic* casts with explicit load()/store() Change-Id: Ia7ef1a8e01001f203e409c710c977d6f4686342e Reviewed-by: Thiago Macieira --- src/gui/text/qfont.cpp | 31 +++++++++++++++--------------- src/gui/text/qfontengine.cpp | 5 ++--- src/gui/text/qglyphrun.cpp | 2 +- src/gui/text/qplatformfontdatabase_qpa.cpp | 2 +- src/gui/text/qrawfont.cpp | 4 ++-- src/gui/text/qrawfont_p.h | 2 +- src/gui/text/qstatictext.cpp | 4 ++-- src/gui/text/qtextengine.cpp | 2 +- 8 files changed, 25 insertions(+), 27 deletions(-) (limited to 'src/gui/text') diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 7cd9fb15e9..23fe5ca4fb 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -667,7 +667,7 @@ QFont::QFont(QFontPrivate *data) */ void QFont::detach() { - if (d->ref == 1) { + if (d->ref.load() == 1) { if (d->engineData) d->engineData->ref.deref(); d->engineData = 0; @@ -2631,11 +2631,11 @@ QFontCache::~QFontCache() EngineDataCache::ConstIterator it = engineDataCache.constBegin(), end = engineDataCache.constEnd(); while (it != end) { - if (it.value()->ref == 0) + if (it.value()->ref.load() == 0) delete it.value(); else FC_DEBUG("QFontCache::~QFontCache: engineData %p still has refcount %d", - it.value(), int(it.value()->ref)); + it.value(), it.value()->ref.load()); ++it; } } @@ -2643,7 +2643,7 @@ QFontCache::~QFontCache() end = engineCache.constEnd(); while (it != end) { if (--it.value().data->cache_count == 0) { - if (it.value().data->ref == 0) { + if (it.value().data->ref.load() == 0) { FC_DEBUG("QFontCache::~QFontCache: deleting engine %p key=(%d / %g %g %d %d %d)", it.value().data, it.key().script, it.key().def.pointSize, it.key().def.pixelSize, it.key().def.weight, it.key().def.style, @@ -2652,7 +2652,7 @@ QFontCache::~QFontCache() delete it.value().data; } else { FC_DEBUG("QFontCache::~QFontCache: engine = %p still has refcount %d", - it.value().data, int(it.value().data->ref)); + it.value().data, it.value().data->ref.load()); } } ++it; @@ -2678,7 +2678,7 @@ void QFontCache::clear() for (EngineCache::Iterator it = engineCache.begin(), end = engineCache.end(); it != end; ++it) { - if (it->data->ref == 0) { + if (it->data->ref.load() == 0) { delete it->data; it->data = 0; } @@ -2686,7 +2686,7 @@ void QFontCache::clear() for (EngineCache::Iterator it = engineCache.begin(), end = engineCache.end(); it != end; ++it) { - if (it->data && it->data->ref == 0) { + if (it->data && it->data->ref.load() == 0) { delete it->data; it->data = 0; } @@ -2727,7 +2727,7 @@ QFontEngine *QFontCache::findEngine(const Key &key) FC_DEBUG("QFontCache: found font engine\n" " %p: timestamp %4u hits %3u ref %2d/%2d, type '%s'", it.value().data, it.value().timestamp, it.value().hits, - int(it.value().data->ref), it.value().data->cache_count, + it.value().data->ref.load(), it.value().data->cache_count, it.value().data->name()); return it.value().data; @@ -2782,7 +2782,6 @@ void QFontCache::decreaseCost(uint cost) cost, total_cost, max_cost); } - void QFontCache::timerEvent(QTimerEvent *) { FC_DEBUG("QFontCache::timerEvent: performing cache maintenance (timestamp %u)", @@ -2816,7 +2815,7 @@ void QFontCache::timerEvent(QTimerEvent *) #endif // QFONTCACHE_DEBUG - if (it.value()->ref != 0) + if (it.value()->ref.load() != 0) in_use_cost += engine_data_cost; } } @@ -2829,10 +2828,10 @@ void QFontCache::timerEvent(QTimerEvent *) for (; it != end; ++it) { FC_DEBUG(" %p: timestamp %4u hits %2u ref %2d/%2d, cost %u bytes", it.value().data, it.value().timestamp, it.value().hits, - int(it.value().data->ref), it.value().data->cache_count, + it.value().data->ref.load(), it.value().data->cache_count, it.value().data->cache_cost); - if (it.value().data->ref != 0) + if (it.value().data->ref.load() != 0) in_use_cost += it.value().data->cache_cost / it.value().data->cache_count; } @@ -2882,7 +2881,7 @@ void QFontCache::timerEvent(QTimerEvent *) EngineDataCache::Iterator it = engineDataCache.begin(), end = engineDataCache.end(); while (it != end) { - if (it.value()->ref != 0) { + if (it.value()->ref.load() != 0) { ++it; continue; } @@ -2910,7 +2909,7 @@ void QFontCache::timerEvent(QTimerEvent *) uint least_popular = ~0u; for (; it != end; ++it) { - if (it.value().data->ref != 0) + if (it.value().data->ref.load() != 0) continue; if (it.value().timestamp < oldest && @@ -2923,7 +2922,7 @@ void QFontCache::timerEvent(QTimerEvent *) FC_DEBUG(" oldest %u least popular %u", oldest, least_popular); for (it = engineCache.begin(); it != end; ++it) { - if (it.value().data->ref == 0 && + if (it.value().data->ref.load() == 0 && it.value().timestamp == oldest && it.value().hits == least_popular) break; @@ -2932,7 +2931,7 @@ void QFontCache::timerEvent(QTimerEvent *) if (it != end) { FC_DEBUG(" %p: timestamp %4u hits %2u ref %2d/%2d, type '%s'", it.value().data, it.value().timestamp, it.value().hits, - int(it.value().data->ref), it.value().data->cache_count, + it.value().data->ref.load(), it.value().data->cache_count, it.value().data->name()); if (--it.value().data->cache_count == 0) { diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index 3f008064e2..067a630d4d 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -168,9 +168,8 @@ static HB_Error hb_getSFntTable(void *font, HB_Tag tableTag, HB_Byte *buffer, HB // QFontEngine QFontEngine::QFontEngine() - : QObject() + : QObject(), ref(0) { - ref = 0; cache_count = 0; fsType = 0; symbol = false; @@ -1360,7 +1359,7 @@ QFontEngineMulti::~QFontEngineMulti() QFontEngine *fontEngine = engines.at(i); if (fontEngine) { fontEngine->ref.deref(); - if (fontEngine->cache_count == 0 && fontEngine->ref == 0) + if (fontEngine->cache_count == 0 && fontEngine->ref.load() == 0) delete fontEngine; } } diff --git a/src/gui/text/qglyphrun.cpp b/src/gui/text/qglyphrun.cpp index 0457202a18..2ab339e388 100644 --- a/src/gui/text/qglyphrun.cpp +++ b/src/gui/text/qglyphrun.cpp @@ -138,7 +138,7 @@ QGlyphRun::~QGlyphRun() */ void QGlyphRun::detach() { - if (d->ref != 1) + if (d->ref.load() != 1) d.detach(); } diff --git a/src/gui/text/qplatformfontdatabase_qpa.cpp b/src/gui/text/qplatformfontdatabase_qpa.cpp index 80ad31cea3..8d5a9201d9 100644 --- a/src/gui/text/qplatformfontdatabase_qpa.cpp +++ b/src/gui/text/qplatformfontdatabase_qpa.cpp @@ -194,7 +194,7 @@ QSupportedWritingSystems::~QSupportedWritingSystems() */ void QSupportedWritingSystems::detach() { - if (d->ref != 1) { + if (d->ref.load() != 1) { QWritingSystemsPrivate *newd = new QWritingSystemsPrivate(d); if (!d->ref.deref()) delete d; diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 389c5bdc75..8fccd9b0ca 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -683,7 +683,7 @@ void QRawFont::setPixelSize(qreal pixelSize) d->fontEngine->ref.ref(); oldFontEngine->ref.deref(); - if (oldFontEngine->cache_count == 0 && oldFontEngine->ref == 0) + if (oldFontEngine->cache_count == 0 && oldFontEngine->ref.load() == 0) delete oldFontEngine; } @@ -695,7 +695,7 @@ void QRawFontPrivate::cleanUp() platformCleanUp(); if (fontEngine != 0) { fontEngine->ref.deref(); - if (fontEngine->cache_count == 0 && fontEngine->ref == 0) + if (fontEngine->cache_count == 0 && fontEngine->ref.load() == 0) delete fontEngine; fontEngine = 0; } diff --git a/src/gui/text/qrawfont_p.h b/src/gui/text/qrawfont_p.h index 1f2e957906..992cb2f720 100644 --- a/src/gui/text/qrawfont_p.h +++ b/src/gui/text/qrawfont_p.h @@ -84,7 +84,7 @@ public: ~QRawFontPrivate() { - Q_ASSERT(ref == 0); + Q_ASSERT(ref.load() == 0); cleanUp(); } diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index bed0da62da..a52cf25a98 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -177,7 +177,7 @@ QStaticText::QStaticText(const QStaticText &other) */ QStaticText::~QStaticText() { - Q_ASSERT(!data || data->ref >= 1); + Q_ASSERT(!data || data->ref.load() >= 1); } /*! @@ -185,7 +185,7 @@ QStaticText::~QStaticText() */ void QStaticText::detach() { - if (data->ref != 1) + if (data->ref.load() != 1) data.detach(); } diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 3a2431d1ea..08d3a4df6e 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1219,7 +1219,7 @@ static inline void releaseCachedFontEngine(QFontEngine *fontEngine) { if (fontEngine) { fontEngine->ref.deref(); - if (fontEngine->cache_count == 0 && fontEngine->ref == 0) + if (fontEngine->cache_count == 0 && fontEngine->ref.load() == 0) delete fontEngine; } } -- cgit v1.2.3