//
wxWindow * const parent = GetParent();
- const bool isFromParent = event.GetEventObject() == parent;
- const bool isFromSelf = event.GetEventObject() == this;
+ // the wxObject* casts are required to avoid MinGW GCC 2.95.3 ICE
+ const bool isFromParent = event.GetEventObject() == (wxObject*) parent;
+ const bool isFromSelf = event.GetEventObject() == (wxObject*) this;
if ( isFromParent || isFromSelf )
{
if ( !UseBgCol() && DoDrawBackground(hDC, child) )
return true;
+ // If we're using a solid colour (for example if we've switched off
+ // theming for this notebook), paint it
+ if (UseBgCol())
+ {
+ wxRect r = GetPageSize();
+ if ( r.IsEmpty() )
+ return false;
+
+ RECT rc;
+ wxCopyRectToRECT(r, rc);
+
+ // map rect to the coords of the window we're drawing in
+ if ( child )
+ ::MapWindowPoints(GetHwnd(), GetHwndOf(child), (POINT *)&rc, 2);
+
+ wxBrush brush(GetBackgroundColour());
+ HBRUSH hbr = GetHbrushOf(brush);
+
+ ::FillRect((HDC) hDC, &rc, hbr);
+
+ return true;
+ }
+
return wxNotebookBase::MSWPrintChild(hDC, child);
}