]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/dcclient.cpp
fixed wide char codeset detection for systems which do support LE/BE variants (broken...
[wxWidgets.git] / src / x11 / dcclient.cpp
index 8cbaf34a0dc31cc022ff7751a7f1c4c8c2366c21..8f16fa74e3660603191c0aa8fa79377b0371834b 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "dcclient.h"
-#endif
-
 #include "wx/dcclient.h"
 #include "wx/dcmemory.h"
 #include "wx/window.h"
@@ -1670,13 +1666,11 @@ wxCoord wxWindowDC::GetCharWidth() const
 #if wxUSE_UNICODE
     PangoLayout *layout = pango_layout_new( m_context );
 
-    if (!m_fontdesc)
-    {
-        char *crash = NULL;
-        *crash = 0;
-    }
-
-    pango_layout_set_font_description(layout, m_fontdesc);
+    if (m_fontdesc)
+       pango_layout_set_font_description(layout, m_fontdesc);
+    else
+       pango_layout_set_font_description(layout, this->GetFont().GetNativeFontInfo()->description);
+       
     pango_layout_set_text(layout, "H", 1 );
     int w,h;
     pango_layout_get_pixel_size(layout, &w, &h);
@@ -1706,14 +1700,11 @@ wxCoord wxWindowDC::GetCharHeight() const
 #if wxUSE_UNICODE
     PangoLayout *layout = pango_layout_new( m_context );
 
-    if (!m_fontdesc)
-    {
-        char *crash = NULL;
-        *crash = 0;
-    }
-
-    pango_layout_set_font_description(layout, m_fontdesc);
-
+    if (m_fontdesc)
+       pango_layout_set_font_description(layout, m_fontdesc);
+    else
+       pango_layout_set_font_description(layout, this->GetFont().GetNativeFontInfo()->description);
+       
     pango_layout_set_text(layout, "H", 1 );
     int w,h;
     pango_layout_get_pixel_size(layout, &w, &h);
@@ -1771,6 +1762,12 @@ void wxWindowDC::SetFont( const wxFont &font )
     wxCHECK_RET( Ok(), wxT("invalid dc") );
 
     m_font = font;
+    
+    return;
+    
+#if wxUSE_UNICODE
+    m_fontdesc = font.GetNativeFontInfo()->description;
+#endif
 }
 
 void wxWindowDC::SetPen( const wxPen &pen )