/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "settings.h"
#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
#include "wx/settings.h"
#include "wx/debug.h"
#include "wx/module.h"
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->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 );
#endif