Fix window manager bug
Window are was not being cleared properly when something was made invisible
This commit is contained in:
parent
99c13615c8
commit
f3f9b7dc01
@ -88,18 +88,16 @@ static void WM_Delete(GHandle gh) {
|
||||
}
|
||||
|
||||
static void WM_Visible(GHandle gh) {
|
||||
#if GDISP_NEED_CLIP
|
||||
gdispSetClip(gh->x, gh->y, gh->width, gh->height);
|
||||
#endif
|
||||
if ((gh->flags & GWIN_FLG_VISIBLE)) {
|
||||
if (gh->vmt->Redraw) {
|
||||
#if GDISP_NEED_CLIP
|
||||
gdispSetClip(gh->x, gh->y, gh->width, gh->height);
|
||||
#endif
|
||||
if (gh->vmt->Redraw)
|
||||
gh->vmt->Redraw(gh);
|
||||
} else
|
||||
gwinClear(gh);
|
||||
// A real window manager would also redraw the borders
|
||||
}
|
||||
|
||||
else
|
||||
else
|
||||
gdispFillArea(gh->x, gh->y, gh->width, gh->height, gh->bgcolor);
|
||||
// A real window manager would also redraw the borders here
|
||||
} else
|
||||
gdispFillArea(gh->x, gh->y, gh->width, gh->height, gwinGetDefaultBgColor());
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user