]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/fontutil.cpp
Better fix for modal/modeless wizards.
[wxWidgets.git] / src / unix / fontutil.cpp
index 84d09f9931dd80845ff6d33e0ab589ec785796ee..cf77187acba91b7e494dbb1bcb7dd060b7e22727 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "fontutil.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -139,7 +135,11 @@ wxString wxNativeFontInfo::GetFaceName() const
 wxFontFamily wxNativeFontInfo::GetFamily() const
 {
     wxFontFamily ret = wxFONTFAMILY_DEFAULT;
-    char *family_text = g_ascii_strdown( pango_font_description_get_family( description ), -1 );
+    // note: not passing -1 as the 2nd parameter to g_ascii_strdown to work
+    // around a bug in the 64-bit glib shipped with solaris 10, -1 causes it
+    // to try to allocate 2^32 bytes.
+    const char *family_name = pango_font_description_get_family( description );
+    char *family_text = g_ascii_strdown( family_name, family_name ? strlen( family_name ) : 0 );
     // Check for some common fonts, to salvage what we can from the current win32 centric wxFont API:
     if (strncmp( family_text, "monospace", 9 ) == 0)
         ret = wxFONTFAMILY_TELETYPE; // begins with "Monospace"
@@ -254,7 +254,7 @@ void wxNativeFontInfo::SetUnderlined(bool WXUNUSED(underlined))
     wxFAIL_MSG( _T("not implemented") );
 }
 
-void wxNativeFontInfo::SetFaceName(wxString facename)
+void wxNativeFontInfo::SetFaceName(const wxString& facename)
 {
     pango_font_description_set_family( description, wxGTK_CONV(facename) );
 }
@@ -753,7 +753,7 @@ void wxNativeFontInfo::SetUnderlined(bool WXUNUSED(underlined))
     // can't do this under X
 }
 
-void wxNativeFontInfo::SetFaceName(wxString facename)
+void wxNativeFontInfo::SetFaceName(const wxString& facename)
 {
     SetXFontComponent(wxXLFD_FAMILY, facename);
 }