]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/font.cpp
m_font may not have been set yet. Default to letting GetTextExtent
[wxWidgets.git] / src / x11 / font.cpp
index 0e2d09b1ff94c3a31168db559787e8ad85b1fe22..4eaee81f00b6781b7356924922cab9006fb38b69 100644 (file)
@@ -17,7 +17,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "font.h"
 #endif
 
@@ -424,12 +424,12 @@ void wxFontRefData::ClearX11Fonts()
 {
 #if wxUSE_UNICODE
 #else
-    wxNode* node = m_fonts.First();
+    wxList::compatibility_iterator node = m_fonts.GetFirst();
     while (node)
     {
-        wxXFont* f = (wxXFont*) node->Data();
+        wxXFont* f = (wxXFont*) node->GetData();
         delete f;
-        node = node->Next();
+        node = node->GetNext();
     }
     m_fonts.Clear();
 #endif
@@ -752,7 +752,7 @@ bool wxFont::GetNoAntiAliasing()
     return M_FONTDATA->m_noAA;
 }
 
-wxNativeFontInfo *wxFont::GetNativeFontInfo() const
+const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
 {
     wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
 
@@ -762,7 +762,7 @@ wxNativeFontInfo *wxFont::GetNativeFontInfo() const
         GetInternalFont();
 #endif
 
-    return new wxNativeFontInfo(M_FONTDATA->m_nativeFontInfo);
+    return &(M_FONTDATA->m_nativeFontInfo);
 }
 
 bool wxFont::IsFixedWidth() const
@@ -770,6 +770,7 @@ bool wxFont::IsFixedWidth() const
     wxCHECK_MSG( Ok(), FALSE, wxT("invalid font") );
 
 #if wxUSE_UNICODE
+   return wxFontBase::IsFixedWidth();
 #else
     // Robert, is this right? HasNativeFont doesn't exist.
     if ( TRUE )
@@ -781,9 +782,10 @@ bool wxFont::IsFixedWidth() const
 
         return spacing.Upper() == _T('M');
     }
+   // Unreaceable code for now
+   // return wxFontBase::IsFixedWidth();
 #endif
 
-    return wxFontBase::IsFixedWidth();
 }
 
 // ----------------------------------------------------------------------------
@@ -872,13 +874,13 @@ wxXFont* wxFont::GetInternalFont(double scale, WXDisplay* display) const
     int pointSize = (M_FONTDATA->m_pointSize * 10 * intScale) / 100;
 
     // search existing fonts first
-    wxNode* node = M_FONTDATA->m_fonts.First();
+    wxList::compatibility_iterator node = M_FONTDATA->m_fonts.GetFirst();
     while (node)
     {
-        wxXFont* f = (wxXFont*) node->Data();
+        wxXFont* f = (wxXFont*) node->GetData();
         if ((!display || (f->m_display == display)) && (f->m_scale == intScale))
             return f;
-        node = node->Next();
+        node = node->GetNext();
     }
 
     // not found, create a new one