diff --git a/src/x11/window.cpp b/src/x11/window.cpp index a48921ee4b..a83d2d33a1 100644 --- a/src/x11/window.cpp +++ b/src/x11/window.cpp @@ -1653,7 +1653,14 @@ bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window WXUNUSED(win bool wxWindowX11::SetBackgroundColour(const wxColour& col) { - wxWindowBase::SetBackgroundColour(col); + if ( !wxWindowBase::SetBackgroundColour(col) ) + return false; + + if ( !m_backgroundColour.IsOk() ) + { + // Reset to the default colour as we must have a valid background. + m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); + } Display *xdisplay = (Display*) wxGlobalDisplay(); int xscreen = DefaultScreen( xdisplay );