summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases
diff options
context:
space:
mode:
Diffstat (limited to 'src/platformsupport/fontdatabases')
-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;