commit 77c5c852e499362b4fdf7a636e541bab6d496130
parent cee7a6ab10235f764435f394d98b9c1e33b4eeb4
Author: rsc <devnull@localhost>
Date: Thu, 12 Jan 2006 04:44:46 +0000
avoid unnecessary winresize, which flush text cache
Diffstat:
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/cmd/acme/wind.c b/src/cmd/acme/wind.c
@@ -387,7 +387,7 @@ wincleartag(Window *w)
void
winsettag1(Window *w)
{
- int bar, dirty, i, j, k, n, ntagname;
+ int bar, dirty, i, j, k, n, ntagname, resize;
Rune *new, *old, *r, *tagname;
Image *b;
uint q0, q1;
@@ -482,7 +482,9 @@ winsettag1(Window *w)
assert(i==runestrlen(new));
/* replace tag if the new one is different */
+ resize = 0;
if(runeeq(new, i, old, k) == FALSE){
+ resize = 1;
n = k;
if(n > i)
n = i;
@@ -521,7 +523,8 @@ winsettag1(Window *w)
br.max.x = br.min.x + Dx(b->r);
br.max.y = br.min.y + Dy(b->r);
draw(screen, br, b, nil, b->r.min);
- winresize(w, w->r, TRUE, TRUE);
+ if(resize)
+ winresize(w, w->r, TRUE, TRUE);
}
void