Minor correction to changes in r62971: we still need to hook WM_ERASEBKGND in
toolbar parent when painting the toolbar itself even when there are no dummy
separators in it (and so we don't need to paint them over). Without this, the
background of simple toolbars without controls was not erased correctly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62980
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
- if ( !rgnDummySeps.IsOk() )
+ if ( rgnDummySeps.IsOk() )
- // don't interfere with toolbar default painting at all if we don't
- // need to -- and we don't if we have no dummy separators at all
- return false;
- }
-
- // exclude the area occupied by the controls and stretchable spaces from
- // the update region to prevent the toolbar from drawing separators in it
- if ( !::ValidateRgn(GetHwnd(), GetHrgnOf(rgnDummySeps)) )
- {
- wxLogLastError(wxT("ValidateRgn()"));
+ // exclude the area occupied by the controls and stretchable spaces
+ // from the update region to prevent the toolbar from drawing
+ // separators in it
+ if ( !::ValidateRgn(GetHwnd(), GetHrgnOf(rgnDummySeps)) )
+ {
+ wxLogLastError(wxT("ValidateRgn()"));
+ }
}
// still let the native control draw everything else normally but set up a
}
// still let the native control draw everything else normally but set up a
GetParent()->MSWSetEraseBgHook(NULL);
GetParent()->MSWSetEraseBgHook(NULL);
- // erase the dummy separators region ourselves now as nobody painted over
- // them
- WindowHDC hdc(GetHwnd());
- ::SelectClipRgn(hdc, GetHrgnOf(rgnDummySeps));
- MSWDoEraseBackground(hdc);
+ if ( rgnDummySeps.IsOk() )
+ {
+ // erase the dummy separators region ourselves now as nobody painted
+ // over them
+ WindowHDC hdc(GetHwnd());
+ ::SelectClipRgn(hdc, GetHrgnOf(rgnDummySeps));
+ MSWDoEraseBackground(hdc);
+ }