avoid unnecessary winresize, which flush text cache

This commit is contained in:
rsc 2006-01-12 04:44:46 +00:00
parent cee7a6ab10
commit 77c5c852e4

View file

@ -387,7 +387,7 @@ wincleartag(Window *w)
void void
winsettag1(Window *w) 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; Rune *new, *old, *r, *tagname;
Image *b; Image *b;
uint q0, q1; uint q0, q1;
@ -482,7 +482,9 @@ winsettag1(Window *w)
assert(i==runestrlen(new)); assert(i==runestrlen(new));
/* replace tag if the new one is different */ /* replace tag if the new one is different */
resize = 0;
if(runeeq(new, i, old, k) == FALSE){ if(runeeq(new, i, old, k) == FALSE){
resize = 1;
n = k; n = k;
if(n > i) if(n > i)
n = i; n = i;
@ -521,7 +523,8 @@ winsettag1(Window *w)
br.max.x = br.min.x + Dx(b->r); br.max.x = br.min.x + Dx(b->r);
br.max.y = br.min.y + Dy(b->r); br.max.y = br.min.y + Dy(b->r);
draw(screen, br, b, nil, b->r.min); draw(screen, br, b, nil, b->r.min);
winresize(w, w->r, TRUE, TRUE); if(resize)
winresize(w, w->r, TRUE, TRUE);
} }
void void