devdraw: repair incomplete repainting
This commit is contained in:
@@ -372,6 +372,9 @@ runxevent(XEvent *xev)
|
|||||||
case FocusOut:
|
case FocusOut:
|
||||||
w = findxwin(((XFocusChangeEvent*)xev)->window);
|
w = findxwin(((XFocusChangeEvent*)xev)->window);
|
||||||
break;
|
break;
|
||||||
|
case MapNotify:
|
||||||
|
w = findxwin(((XMapEvent*)xev)->window);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if(w == nil)
|
if(w == nil)
|
||||||
w = _x.windows;
|
w = _x.windows;
|
||||||
@@ -382,6 +385,12 @@ runxevent(XEvent *xev)
|
|||||||
_xexpose(w, xev);
|
_xexpose(w, xev);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MapNotify:
|
||||||
|
if(w->screenpm == w->nextscreenpm) {
|
||||||
|
XCopyArea(_x.display, w->screenpm, w->drawable, _x.gccopy,0, 0, Dx(w->screenr), Dy(w->screenr), 0, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case DestroyNotify:
|
case DestroyNotify:
|
||||||
if(_xdestroy(w, xev))
|
if(_xdestroy(w, xev))
|
||||||
threadexitsall(nil);
|
threadexitsall(nil);
|
||||||
|
|||||||
Reference in New Issue
Block a user