summaryrefslogtreecommitdiff
path: root/sys/src/cmd/spred/pal.c
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2014-07-31 11:36:24 +0200
committeraiju <devnull@localhost>2014-07-31 11:36:24 +0200
commit709e78b9f9a76658cc6c704176ebf8f5821ee9d2 (patch)
tree89b0e66fd11d691dbef6c5fed98f3b62d157bd5a /sys/src/cmd/spred/pal.c
parent98d518cc8c1ff7d1440ebffb9f546d3e0e149d60 (diff)
spred: scrolling and other bugfixes
Diffstat (limited to 'sys/src/cmd/spred/pal.c')
-rw-r--r--sys/src/cmd/spred/pal.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/sys/src/cmd/spred/pal.c b/sys/src/cmd/spred/pal.c
index fcc57726f..69995c25c 100644
--- a/sys/src/cmd/spred/pal.c
+++ b/sys/src/cmd/spred/pal.c
@@ -177,7 +177,7 @@ palredraw(Pal *p)
}
void
-palsize(Pal *p, int sz)
+palsize(Pal *p, int sz, int ch)
{
int i;
@@ -185,14 +185,14 @@ palsize(Pal *p, int sz)
return;
p->cols = realloc(p->cols, sz * sizeof(*p->cols));
p->ims = realloc(p->ims, sz * sizeof(*p->ims));
- if(sz > p->ncol){
- memset(p->cols + p->ncol, 0, sz);
- for(i = p->ncol; i < sz; i++)
+ if(sz > p->ncol)
+ for(i = p->ncol; i < sz; i++){
+ p->cols[i] = 0;
p->ims[i] = allocimage(display, Rect(0, 0, 1, 1), screen->chan, 1, 0);
- }
+ }
p->ncol = sz;
- p->change = 1;
- quitok = 0;
+ if(ch)
+ change(p);
palredraw(p);
}
@@ -226,8 +226,7 @@ palset(Pal *p, int s, u32int c)
p->cols[s] = c;
freeimage(p->ims[s]);
p->ims[s] = allocimage(display, Rect(0, 0, 1, 1), screen->chan, 1, c << 8 | 0xff);
- p->change = 1;
- quitok = 0;
+ change(p);
palredraw(p);
}