]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/font.cpp
use a wxCharBuffer instead of malloc/free for pango underline workaround
[wxWidgets.git] / src / gtk / font.cpp
index e355db0f1c7dbfe822772cb7d72fbefe8f0a5f30..77e2511b41dced20878487d1ce872f467f089154 100644 (file)
@@ -51,7 +51,7 @@ WX_DECLARE_HASH_MAP(int, GdkFont *, wxIntegerHash, wxIntegerEqual,
 // wxFontRefData
 // ----------------------------------------------------------------------------
 
-class wxFontRefData : public wxObjectRefData
+class wxFontRefData : public wxGDIRefData
 {
 public:
     // from broken down font parameters, also default ctor
@@ -157,6 +157,8 @@ void wxFontRefData::Init(int pointSize,
 
     m_underlined = underlined;
     m_encoding = encoding;
+    if ( m_encoding == wxFONTENCODING_DEFAULT )
+        m_encoding = wxFont::GetDefaultEncoding();
 
     m_noAA = false;
 
@@ -201,7 +203,7 @@ void wxFontRefData::InitFromNative()
     PangoFontDescription *desc = m_nativeFontInfo.description;
 
     // init fields
-    m_faceName = wxGTK_CONV_BACK( pango_font_description_get_family( desc ) );
+    m_faceName = wxGTK_CONV_BACK_SYS(pango_font_description_get_family(desc));
 
     // Pango sometimes needs to have a size
     int pango_size = pango_font_description_get_size( desc );
@@ -237,7 +239,7 @@ void wxFontRefData::InitFromNative()
 }
 
 wxFontRefData::wxFontRefData( const wxFontRefData& data )
-             : wxObjectRefData()
+             : wxGDIRefData()
 {
     m_pointSize = data.m_pointSize;
     m_family = data.m_family;
@@ -549,12 +551,12 @@ void wxFont::SetNoAntiAliasing( bool no )
     M_FONTDATA->SetNoAntiAliasing( no );
 }
 
-wxObjectRefData* wxFont::CreateRefData() const
+wxGDIRefData* wxFont::CreateGDIRefData() const
 {
     return new wxFontRefData;
 }
 
-wxObjectRefData* wxFont::CloneRefData(const wxObjectRefData* data) const
+wxGDIRefData* wxFont::CloneGDIRefData(const wxGDIRefData* data) const
 {
     return new wxFontRefData(*wx_static_cast(const wxFontRefData*, data));
 }