devdraw: fix topnwindows() panic when images are not windows (thanks aiju)
Crashes drawterm and native: #include <u.h> #include <libc.h> #include <draw.h> void main(int argc, char **argv) { initdraw(nil, nil, nil); Image *a[] = {screen, display->black}; topnwindows(a, nelem(a)); flushimage(display, 1); }
This commit is contained in:
parent
5254e41f6b
commit
16784a2e45
1 changed files with 4 additions and 4 deletions
|
@ -2022,13 +2022,13 @@ drawmesg(Client *client, void *av, int n)
|
||||||
free(lp);
|
free(lp);
|
||||||
nexterror();
|
nexterror();
|
||||||
}
|
}
|
||||||
for(j=0; j<nw; j++)
|
for(j=0; j<nw; j++){
|
||||||
lp[j] = drawimage(client, a+1+1+2+j*4);
|
lp[j] = drawimage(client, a+1+1+2+j*4);
|
||||||
if(lp[0]->layer == 0)
|
if(lp[j]->layer == 0)
|
||||||
error("images are not windows");
|
error("images are not windows");
|
||||||
for(j=1; j<nw; j++)
|
|
||||||
if(lp[j]->layer->screen != lp[0]->layer->screen)
|
if(lp[j]->layer->screen != lp[0]->layer->screen)
|
||||||
error("images not on same screen");
|
error("images not on same screen");
|
||||||
|
}
|
||||||
if(a[1])
|
if(a[1])
|
||||||
memltofrontn(lp, nw);
|
memltofrontn(lp, nw);
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue