]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/checklst.cpp
Fixed DDE memory leaks.
[wxWidgets.git] / src / mac / carbon / checklst.cpp
index d987d94994c68a38b96df15ea58f9b51a5924acc..1e88ce34f6cce33300cbf0c4d472812253fd1105 100644 (file)
@@ -102,13 +102,12 @@ static pascal void wxMacCheckListDefinition( short message, Boolean isSelected,
             ClipRect( drawRect );
             EraseRect( drawRect );
             
-            wxFontRefData * font = (wxFontRefData*) (list->GetFont().GetRefData()) ;
-
-            if ( font )
+            const wxFont& font = list->GetFont();
+            if ( font.Ok() )
             {
-                ::TextFont( font->m_macFontNum ) ;
-                ::TextSize( font->m_macFontSize)  ;
-                ::TextFace( font->m_macFontStyle ) ;
+                ::TextFont( font.GetMacFontNum() ) ;
+                ::TextSize( font.GetMacFontSize())  ;
+                ::TextFace( font.GetMacFontStyle() ) ;
             }
                        
             ThemeButtonDrawInfo info ;
@@ -183,6 +182,10 @@ bool wxCheckListBox::Create(wxWindow *parent,
                             const wxValidator& validator,
                             const wxString &name)
 {
+    if ( !wxCheckListBoxBase::Create(parent, id, pos, size,
+                                     n, choices, style, validator, name) )
+        return false;
+
     m_noItems = 0 ; // this will be increased by our append command
     m_selected = 0;
     
@@ -194,10 +197,11 @@ bool wxCheckListBox::Create(wxWindow *parent,
     GetThemeMetric(kThemeMetricCheckBoxWidth,(long *)&m_checkBoxWidth);    
     GetThemeMetric(kThemeMetricCheckBoxHeight,&h);
 #endif
-      wxFontRefData * font = (wxFontRefData*) (GetFont().GetRefData()) ;
+
+    const wxFont& font = GetFont();
 
     FontInfo finfo;
-    FetchFontInfo(font->m_macFontNum,short(font->m_macFontSize),font->m_macFontStyle,&finfo);
+    FetchFontInfo(font.GetMacFontNum(),font.GetMacFontSize(),font.GetMacFontStyle(),&finfo);
     
     m_TextBaseLineOffset= finfo.leading+finfo.ascent;
     m_checkBoxHeight= finfo.leading+finfo.ascent+finfo.descent;