summaryrefslogtreecommitdiffstats
path: root/src/cmd/devdraw/x11-screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/devdraw/x11-screen.c')
-rw-r--r--src/cmd/devdraw/x11-screen.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/devdraw/x11-screen.c b/src/cmd/devdraw/x11-screen.c
index 0033035e..8a776c0a 100644
--- a/src/cmd/devdraw/x11-screen.c
+++ b/src/cmd/devdraw/x11-screen.c
@@ -372,6 +372,9 @@ runxevent(XEvent *xev)
case FocusOut:
w = findxwin(((XFocusChangeEvent*)xev)->window);
break;
+ case MapNotify:
+ w = findxwin(((XMapEvent*)xev)->window);
+ break;
}
if(w == nil)
w = _x.windows;
@@ -382,6 +385,12 @@ runxevent(XEvent *xev)
_xexpose(w, xev);
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:
if(_xdestroy(w, xev))
threadexitsall(nil);