diff options
| author | MvA <vanattenmark@gmail.com> | 2026-01-31 09:08:42 +0100 |
|---|---|---|
| committer | Dan Cross <crossd@gmail.com> | 2026-01-31 09:37:01 -0500 |
| commit | b3741e6ce39cdcdb09485c088034b723ed023b0b (patch) | |
| tree | d0e1c12affb5a73386a20ab3e212caac73ec2dfd | |
| parent | f39a2407b6e6ace6af68e466bfa2f362b9a9dd36 (diff) | |
| download | plan9port-b3741e6ce39cdcdb09485c088034b723ed023b0b.tar.gz plan9port-b3741e6ce39cdcdb09485c088034b723ed023b0b.zip | |
devdraw: repair incomplete repainting
| -rw-r--r-- | src/cmd/devdraw/x11-screen.c | 9 |
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); |
