From a0bcb6934e7362bb282d7f2356b1520af1851c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Tue, 8 Apr 2003 22:28:30 +0000 Subject: [PATCH] backported GTK2 default font fix git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/settings.cpp | 19 +++++++++++++++++-- src/gtk1/settings.cpp | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp index 227599ef0b..11273fff9f 100644 --- a/src/gtk/settings.cpp +++ b/src/gtk/settings.cpp @@ -328,8 +328,23 @@ wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) if (!g_systemFont) { #ifdef __WXGTK20__ - const gchar *font_name = _gtk_rc_context_get_default_font_name (gtk_settings_get_default ()); - g_systemFont = new wxFont( wxString::FromAscii( font_name ) ); + 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 + { + 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 ); #endif diff --git a/src/gtk1/settings.cpp b/src/gtk1/settings.cpp index 227599ef0b..11273fff9f 100644 --- a/src/gtk1/settings.cpp +++ b/src/gtk1/settings.cpp @@ -328,8 +328,23 @@ wxFont wxSystemSettingsNative::GetFont( wxSystemFont index ) if (!g_systemFont) { #ifdef __WXGTK20__ - const gchar *font_name = _gtk_rc_context_get_default_font_name (gtk_settings_get_default ()); - g_systemFont = new wxFont( wxString::FromAscii( font_name ) ); + 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 + { + 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 ); #endif