From: Julian Smart Date: Fri, 26 Oct 2007 10:25:04 +0000 (+0000) Subject: Workaround for gtk-qt display bug X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/8ab7b4c5d5b243042ceb4adb6ff27bb73d962f07?hp=3c75d8baf987c83e231c981d07b5a9217d711361 Workaround for gtk-qt display bug git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 18a1c409d5..f7c8f27795 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -31,6 +31,7 @@ #include "wx/tooltip.h" #include "wx/caret.h" #include "wx/fontutil.h" +#include "wx/sysopt.h" #ifdef __WXDEBUG__ #include "wx/thread.h" @@ -3724,6 +3725,14 @@ void wxWindowGTK::GtkSendPaintEvents() wxWindowDC dc( (wxWindow*)this ); dc.SetClippingRegion( m_updateRegion ); + // Work around gtk-qt <= 0.60 bug whereby the window colour + // remains grey + if (GetBackgroundStyle() == wxBG_STYLE_COLOUR && GetBackgroundColour().Ok() && wxSystemOptions::GetOptionInt(wxT("gtk.window.force-background-colour")) == 1) + { + dc.SetBackground(wxBrush(GetBackgroundColour())); + dc.Clear(); + } + wxEraseEvent erase_event( GetId(), &dc ); erase_event.SetEventObject( this );