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