From b3741e6ce39cdcdb09485c088034b723ed023b0b Mon Sep 17 00:00:00 2001 From: MvA Date: Sat, 31 Jan 2026 09:08:42 +0100 Subject: devdraw: repair incomplete repainting --- src/cmd/devdraw/x11-screen.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') 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); -- cgit v1.2.3