X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ddb22eb4b5b7ad1f85ff71e5e78fff659e2dc24a..b51b78a9c7b50053cdcf4a22d2222500a20eb8ee:/src/gtk/window.cpp diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 7eba3ad0a0..5e09f6f528 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -2147,7 +2147,10 @@ wxWindow::~wxWindow() if (m_widgetStyle) { - gtk_style_unref( m_widgetStyle ); + // don't delete if it's a pixmap theme style + if (!m_widgetStyle->engine_data) + gtk_style_unref( m_widgetStyle ); + m_widgetStyle = (GtkStyle*) NULL; } @@ -3040,6 +3043,18 @@ GtkStyle *wxWindow::GetWidgetStyle() void wxWindow::SetWidgetStyle() { + if (m_widget->style->engine_data) + { + static bool s_warningPrinted = FALSE; + if (!s_warningPrinted) + { + printf( "wxWindows warning: Widget styles disabled due to buggy GTK theme.\n" ); + s_warningPrinted = TRUE; + } + m_widgetStyle = m_widget->style; + return; + } + GtkStyle *style = GetWidgetStyle(); if (m_font != wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT ))