diff --git a/sys/src/cmd/rio/rio.c b/sys/src/cmd/rio/rio.c index d8f7c78bf..2abcb7223 100644 --- a/sys/src/cmd/rio/rio.c +++ b/sys/src/cmd/rio/rio.c @@ -421,6 +421,7 @@ deletethread(void*) originwindow(i, i->r.min, view->r.max); } freeimage(i); + flushimage(display, 1); free(s); } } @@ -850,9 +851,6 @@ sweep(void) r.max = p; oi = nil; while(mouse->buttons == 4){ - readmouse(mousectl); - if(mouse->buttons != 4 && mouse->buttons != 0) - break; if(!eqpt(mouse->xy, p)){ p = onscreen(mouse->xy); r = canonrect(Rpt(p0, p)); @@ -864,9 +862,9 @@ sweep(void) oi = i; border(i, r, Selborder, sizecol, ZP); draw(i, insetrect(r, Selborder), cols[BACK], nil, ZP); - flushimage(display, 1); } } + readmouse(mousectl); } if(mouse->buttons != 0) goto Rescue; @@ -939,12 +937,10 @@ drag(Window *w) d = subpt(w->screenr.max, w->screenr.min); op = subpt(mouse->xy, dm); drawborder(Rect(op.x, op.y, op.x+d.x, op.y+d.y), 1); - flushimage(display, 1); while(mouse->buttons==4){ p = subpt(mouse->xy, dm); if(!eqpt(p, op)){ drawborder(Rect(p.x, p.y, p.x+d.x, p.y+d.y), 1); - flushimage(display, 1); op = p; } readmouse(mousectl); @@ -954,7 +950,6 @@ drag(Window *w) cornercursor(w, mouse->xy, 1); moveto(mousectl, mouse->xy); /* force cursor update; ugly */ menuing = FALSE; - flushimage(display, 1); if(mouse->buttons!=0 || !goodrect(r)){ while(mouse->buttons) readmouse(mousectl); @@ -1050,14 +1045,12 @@ bandsize(Window *w) r = whichrect(w->screenr, p, which); if(!eqrect(r, or) && goodrect(r)){ drawborder(r, 1); - flushimage(display, 1); or = r; } readmouse(mousectl); } p = mouse->xy; drawborder(or, 0); - flushimage(display, 1); wsetcursor(w, 1); if(mouse->buttons!=0 || !goodrect(or)){ while(mouse->buttons) diff --git a/sys/src/cmd/rio/wind.c b/sys/src/cmd/rio/wind.c index 72a8286f5..6bf3fe90b 100644 --- a/sys/src/cmd/rio/wind.c +++ b/sys/src/cmd/rio/wind.c @@ -174,7 +174,7 @@ winctl(void *arg) Stringpair pair; Wctlmesg wcm; Completion *cr; - char *kbdq[8], *kbds; + char *kbdq[32], *kbds; int kbdqr, kbdqw; w = arg; @@ -1032,7 +1032,6 @@ wselect(Window *w) if(q0==q1 && selectq==w->q0){ wdoubleclick(w, &q0, &q1); wsetselect(w, q0, q1); - flushimage(display, 1); x = w->mc.xy.x; y = w->mc.xy.y; /* stay here until something interesting happens */ @@ -1072,7 +1071,6 @@ wselect(Window *w) }else clickwin = nil; wsetselect(w, q0, q1); - flushimage(display, 1); while(w->mc.buttons){ w->mc.msec = 0; b = w->mc.buttons; @@ -1089,7 +1087,6 @@ wselect(Window *w) } } wscrdraw(w); - flushimage(display, 1); while(w->mc.buttons == b) readmouse(&w->mc); clickwin = nil; @@ -1414,6 +1411,7 @@ wclosewin(Window *w) /* move it off-screen to hide it, in case client is slow in letting it go */ MOVEIT originwindow(i, i->r.min, view->r.max); freeimage(i); + flushimage(display, 1); } } diff --git a/sys/src/libdraw/alloc.c b/sys/src/libdraw/alloc.c index 90289a6aa..28caaac02 100644 --- a/sys/src/libdraw/alloc.c +++ b/sys/src/libdraw/alloc.c @@ -47,8 +47,6 @@ _allocimage(Image *ai, Display *d, Rectangle r, ulong chan, int repl, ulong col, return nil; } - /* flush pending data so we don't get error allocating the image */ - flushimage(d, 0); a = bufimage(d, 1+4+4+1+4+1+4*4+4*4+4); if(a == nil) goto Error; @@ -74,8 +72,6 @@ _allocimage(Image *ai, Display *d, Rectangle r, ulong chan, int repl, ulong col, BPLONG(a+39, clipr.max.x); BPLONG(a+43, clipr.max.y); BPLONG(a+47, col); - if(flushimage(d, 0) < 0) - goto Error; if(ai != nil) i = ai; @@ -207,7 +203,6 @@ _freeimage1(Image *i) if(i == nil || i->display == nil) return 0; d = i->display; - flushimage(d, 0); if(i->screen != nil){ w = d->windows; if(w == i) @@ -226,9 +221,6 @@ _freeimage1(Image *i) return -1; a[0] = 'f'; BPLONG(a+1, i->id); - if(flushimage(d, i->screen!=nil) < 0) - return -1; - return 0; } diff --git a/sys/src/libdraw/window.c b/sys/src/libdraw/window.c index b4dc7fad9..2b6702e72 100644 --- a/sys/src/libdraw/window.c +++ b/sys/src/libdraw/window.c @@ -201,7 +201,6 @@ originwindow(Image *w, Point log, Point scr) uchar *b; Point delta; - flushimage(w->display, 0); b = bufimage(w->display, 1+4+2*4+2*4); if(b == nil) return 0; @@ -211,8 +210,6 @@ originwindow(Image *w, Point log, Point scr) BPLONG(b+9, log.y); BPLONG(b+13, scr.x); BPLONG(b+17, scr.y); - if(flushimage(w->display, 1) < 0) - return -1; delta = subpt(log, w->r.min); w->r = rectaddpt(w->r, delta); w->clipr = rectaddpt(w->clipr, delta); diff --git a/sys/src/libframe/frselect.c b/sys/src/libframe/frselect.c index f5955e42b..0f4c66348 100644 --- a/sys/src/libframe/frselect.c +++ b/sys/src/libframe/frselect.c @@ -96,7 +96,6 @@ frselect(Frame *f, Mousectl *mc) /* when called, button 1 is down */ } if(scrled) (*f->scroll)(f, 0); - flushimage(f->display, 1); if(!scrled) readmouse(mc); mp = mc->xy;