summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/rio/rio.c11
-rw-r--r--sys/src/cmd/rio/wind.c6
-rw-r--r--sys/src/libdraw/alloc.c8
-rw-r--r--sys/src/libdraw/window.c3
-rw-r--r--sys/src/libframe/frselect.c1
5 files changed, 4 insertions, 25 deletions
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;