#ifdef __WXGTK20__
GtkWidget *widget = gtk_button_new();
GtkStyle *def = gtk_rc_get_style( widget );
- if (!def)
- def = gtk_widget_get_default_style();
- if (def)
- {
- wxNativeFontInfo info;
- info.description = def->font_desc;
- g_systemFont = new wxFont(info);
- }
- else
- {
- g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );
- }
+ if ( !def || !def->font_desc )
+ def = gtk_widget_get_default_style();
+ if ( def && def->font_desc )
+ {
+ wxNativeFontInfo info;
+ info.description = def->font_desc;
+ g_systemFont = new wxFont(info);
+ }
+ else
+ {
+ const gchar *font_name =
+ _gtk_rc_context_get_default_font_name(gtk_settings_get_default());
+ g_systemFont = new wxFont(wxString::FromAscii(font_name));
+ }
gtk_widget_destroy( widget );
#else
g_systemFont = new wxFont( 12, wxSWISS, wxNORMAL, wxNORMAL );