diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gwin/gwm.c | 18 | 
1 files changed, 8 insertions, 10 deletions
| diff --git a/src/gwin/gwm.c b/src/gwin/gwm.c index 75b08be6..88d61a21 100644 --- a/src/gwin/gwm.c +++ b/src/gwin/gwm.c @@ -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());  } | 
