From e7370dac93e93ef816468a0d48a2029680d2ecb5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Wed, 19 Feb 2003 23:17:01 +0000 Subject: [PATCH] fixed wxSYS_DEFAULT_GUI_FONT lookup git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19264 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 -- 2.50.0