summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMvA <vanattenmark@gmail.com>2026-01-31 09:08:42 +0100
committerDan Cross <crossd@gmail.com>2026-01-31 09:37:01 -0500
commitb3741e6ce39cdcdb09485c088034b723ed023b0b (patch)
treed0e1c12affb5a73386a20ab3e212caac73ec2dfd
parentf39a2407b6e6ace6af68e466bfa2f362b9a9dd36 (diff)
downloadplan9port-b3741e6ce39cdcdb09485c088034b723ed023b0b.tar.gz
plan9port-b3741e6ce39cdcdb09485c088034b723ed023b0b.zip
devdraw: repair incomplete repainting
-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);