diff --git a/src/osx/carbon/font.cpp b/src/osx/carbon/font.cpp index e206e2816d..b8db24c946 100644 --- a/src/osx/carbon/font.cpp +++ b/src/osx/carbon/font.cpp @@ -779,7 +779,8 @@ void wxNativeFontInfo::InitFromFont(CTFontRef font) { Init(); - InitFromFontDescriptor(CTFontCopyFontDescriptor(font) ); + wxCFRef desc(CTFontCopyFontDescriptor(font)); + InitFromFontDescriptor( desc ); } void wxNativeFontInfo::InitFromFontDescriptor(CTFontDescriptorRef desc) @@ -787,6 +788,7 @@ void wxNativeFontInfo::InitFromFontDescriptor(CTFontDescriptorRef desc) Init(); m_descriptor.reset(wxCFRetain(desc)); + int count = CFGetRetainCount(desc); m_ctWeight = GetCTWeight(desc); m_ctWidth = GetCTwidth(desc); @@ -1065,6 +1067,7 @@ bool wxNativeFontInfo::FromString(const wxString& s) if (descriptor != NULL) { InitFromFontDescriptor(descriptor); + CFRelease(descriptor); m_underlined = underlined; m_strikethrough = strikethrough; m_encoding = encoding;