git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29620 
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
 protected:
     virtual wxSize DoGetBestSize() const;
 
+    // invalidate m_brushDisabled when system colours change
+    void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+
+    // the brush we use to draw disabled buttons
     wxBrush m_brushDisabled;
 
+
+    DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxBitmapButton)
 };
 
 
 IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
 #endif
 
+BEGIN_EVENT_TABLE(wxBitmapButton, wxBitmapButtonBase)
+    EVT_SYS_COLOUR_CHANGED(wxBitmapButton::OnSysColourChanged)
+END_EVENT_TABLE()
+
 /*
 TODO PROPERTIES :
 
     return true;
 }
 
+void wxBitmapButton::OnSysColourChanged(wxSysColourChangedEvent& event)
+{
+    m_brushDisabled = wxNullBrush;
+
+    if ( !IsEnabled() )
+    {
+        // this change affects our current state
+        Refresh();
+    }
+
+    event.Skip();
+}
+
 // VZ: should be at the very least less than wxDEFAULT_BUTTON_MARGIN
 #define FOCUS_MARGIN 3