Ticket #12057 (closed defect: fixed)
MSWGetBgBrush() doesn't consider transparent windows correctly
|Reported by:||vaclavslavik||Owned by:||vadz|
Current implementation of MSWGetBgBrush() unconditionally travels windows hierarchy upwards until it find a window that returns valid brush from MSWGetBgBrushForChild(). But the background should be "inherited" from parent window only for windows with transparent background.
wxWindowMSW::MSWGetBgBrushForChild() attempts to do this check, but it does it incorrectly: it only gives background to direct children with transparent background. It should do it for the whole chain of transparent children. Similarly for wxNotebook::MSWGetBgBrushForChild() that didn't even consider transparency.
This should probably be fixed by performing the transparency checks in MSWGetBgBrush() itself. But this would only work with wxNotebook if wxPanels (i.e. notebook pages) were transparent.