// 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"
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"
g_free(families);
- wxASSERT_MSG( family, wxT("wxNativeFontInfo::GetFamily() - No appropriate PangoFontFamily found for ::description") );
+ // Some gtk+ systems might query for a non-existing font from wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)
+ // on initialization, don't assert until wxSystemSettings::GetFont is checked for this - MR
+ // wxASSERT_MSG( family, wxT("wxNativeFontInfo::GetFamily() - No appropriate PangoFontFamily found for ::description") );
//BCI: Cache the wxFontFamily inside the class. Validate cache with
//BCI: g_ascii_strcasecmp(pango_font_description_get_family(description), pango_font_family_get_name(family)) == 0
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) );
}
// can't do this under X
}
-void wxNativeFontInfo::SetFaceName(wxString facename)
+void wxNativeFontInfo::SetFaceName(const wxString& facename)
{
SetXFontComponent(wxXLFD_FAMILY, facename);
}