Cocoa: fix coretext memory leaks
authorTeemu Katajisto <teemu.katajisto@digia.com>
Thu, 18 Oct 2012 08:02:33 +0000 (11:02 +0300)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 18 Oct 2012 22:44:54 +0000 (00:44 +0200)
Change-Id: Id85dbf8a2ea8994d9fca07d3f10b43f62ec305a0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm

index 0cc69d1..8306a47 100644 (file)
@@ -149,6 +149,7 @@ QCoreTextFontDatabase::QCoreTextFontDatabase()
         // layout of the primary display
         NSDictionary *d = (NSDictionary *) IODisplayCreateInfoDictionary(iodisplay, kIODisplayOnlyPreferredName);
         uint displaySubpixelLayout = [[d objectForKey:@kDisplaySubPixelLayout] unsignedIntValue];
+        [d release];
         font_smoothing = (displaySubpixelLayout == kDisplaySubPixelLayoutUndefined ? 0 : 1);
 
         [pool release];
@@ -382,6 +383,7 @@ QStringList QCoreTextFontDatabase::addApplicationFont(const QByteArray &fontData
                     NSLog(@"Unable to register font: %@", error);
                     CFRelease(error);
                 }
+                CGFontRelease(cgFont);
             }
         } else {
             CFErrorRef error;
index c453cb7..d989de0 100644 (file)
@@ -501,6 +501,7 @@ QImage QCoreTextFontEngine::imageForGlyph(glyph_t glyph, QFixed subPixelPosition
     }
 
     CGContextRelease(ctx);
+    CGColorSpaceRelease(colorspace);
 
     return im;
 }