summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases/mac
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-11-25 00:41:00 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-11-28 23:59:16 +0000
commitd3ec5a2b09f3c9f5a67e757aa6b7b0dd09bbe97a (patch)
tree486b30a7c02110e6c35bee223a37f66f8bc40bc9 /src/platformsupport/fontdatabases/mac
parent61a94d2d046c1448ba4c66dfc8e0246286bab14c (diff)
CoreText: Use QCFType to track CoreFoundation member variables
The operator T() function of QAppleRefCounted should be const so that the underlying type can be accessed from const member functions just like the naked underlying type could. Change-Id: I0819c5795d28442a6ff4db2732e211b183574f9f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/platformsupport/fontdatabases/mac')
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm19
-rw-r--r--src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h4
2 files changed, 9 insertions, 14 deletions
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
index b5e4359caf..2fba47d5dd 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
@@ -192,19 +192,16 @@ QCoreTextFontEngine *QCoreTextFontEngine::create(const QByteArray &fontData, qre
QCoreTextFontEngine::QCoreTextFontEngine(CTFontRef font, const QFontDef &def)
: QCoreTextFontEngine(def)
{
- ctfont = font;
- CFRetain(ctfont);
- cgFont = CTFontCopyGraphicsFont(font, NULL);
+ ctfont = QCFType<CTFontRef>::constructFromGet(font);
+ cgFont = CTFontCopyGraphicsFont(font, nullptr);
init();
}
QCoreTextFontEngine::QCoreTextFontEngine(CGFontRef font, const QFontDef &def)
: QCoreTextFontEngine(def)
{
- cgFont = font;
- // Keep reference count balanced
- CFRetain(cgFont);
- ctfont = CTFontCreateWithGraphicsFont(font, fontDef.pixelSize, &transform, NULL);
+ cgFont = QCFType<CGFontRef>::constructFromGet(font);
+ ctfont = CTFontCreateWithGraphicsFont(font, fontDef.pixelSize, &transform, nullptr);
init();
}
@@ -217,14 +214,12 @@ QCoreTextFontEngine::QCoreTextFontEngine(const QFontDef &def)
QCoreTextFontEngine::~QCoreTextFontEngine()
{
- CFRelease(cgFont);
- CFRelease(ctfont);
}
void QCoreTextFontEngine::init()
{
- Q_ASSERT(ctfont != NULL);
- Q_ASSERT(cgFont != NULL);
+ Q_ASSERT(ctfont);
+ Q_ASSERT(cgFont);
face_id.index = 0;
QCFString name = CTFontCopyName(ctfont, kCTFontUniqueNameKey);
@@ -856,7 +851,7 @@ QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
Qt::HANDLE QCoreTextFontEngine::handle() const
{
- return (Qt::HANDLE)ctfont;
+ return (Qt::HANDLE)(static_cast<CTFontRef>(ctfont));
}
bool QCoreTextFontEngine::supportsTransformation(const QTransform &transform) const
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h b/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
index 33c3c0cd40..7ed2faff8e 100644
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h
@@ -131,8 +131,8 @@ protected:
QImage imageForGlyph(glyph_t glyph, QFixed subPixelPosition, bool colorful, const QTransform &m);
void loadAdvancesForGlyphs(QVarLengthArray<CGGlyph> &cgGlyphs, QGlyphLayout *glyphs) const;
- CTFontRef ctfont;
- CGFontRef cgFont;
+ QCFType<CTFontRef> ctfont;
+ QCFType<CGFontRef> cgFont;
int synthesisFlags;
CGAffineTransform transform;
QFixed avgCharWidth;