From 7d55aa8a32112a689ad0d41b876efe335d0b1115 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 2 Dec 2020 00:53:58 +0100 Subject: rio: properly restore the windows contents on /dev/mouse close The previous resize optimization now means that the wfill() is skipped on resize for libdraw programs. So do it once /dev/mouse is closed and the window processes the Refresh message. --- sys/src/cmd/rio/wind.c | 1 + 1 file changed, 1 insertion(+) (limited to 'sys/src') diff --git a/sys/src/cmd/rio/wind.c b/sys/src/cmd/rio/wind.c index b2391cabb..9734fd18f 100644 --- a/sys/src/cmd/rio/wind.c +++ b/sys/src/cmd/rio/wind.c @@ -129,6 +129,7 @@ wrefresh(Window *w) wborder(w, Unselborder); r = insetrect(w->i->r, Selborder); draw(w->i, r, w->cols[BACK], nil, w->entire.min); + wfill(w); w->ticked = 0; if(w->p0 > 0) frdrawsel(w, frptofchar(w, 0), 0, w->p0, 0); -- cgit v1.2.3 From 1bce6d0981bff66b122ca49d7251e7e627af3c40 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 2 Dec 2020 00:56:21 +0100 Subject: libdraw: do not force flushimage() on freescreen() This causes visual flashes of white in rio. If it is really needed (it is rare) it should be done by the caller. --- sys/src/libdraw/window.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'sys/src') diff --git a/sys/src/libdraw/window.c b/sys/src/libdraw/window.c index 2b6702e72..485e14652 100644 --- a/sys/src/libdraw/window.c +++ b/sys/src/libdraw/window.c @@ -96,12 +96,6 @@ Error: } a[0] = 'F'; BPLONG(a+1, s->id); - /* - * flush(1) because screen is likely holding last reference to - * window, and want it to disappear visually. - */ - if(flushimage(d, 1) < 0) - goto Error; free(s); return 1; } -- cgit v1.2.3