X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c542a4de0862ab3e46f4a3c76797ae94ab9de60..312f1e6e371f72910501aad1e270e04756d613ec:/src/unix/fontutil.cpp diff --git a/src/unix/fontutil.cpp b/src/unix/fontutil.cpp index 84d09f9931..cf77187acb 100644 --- a/src/unix/fontutil.cpp +++ b/src/unix/fontutil.cpp @@ -17,10 +17,6 @@ // 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); }