Fix bad _NET_WM_ICON consistency check.
SVN revision: 15798
This commit is contained in:
parent
5124d0981e
commit
048a4164f1
11
src/ewmh.c
11
src/ewmh.c
|
@ -609,7 +609,8 @@ static void
|
||||||
EWMH_GetWindowIcons(EWin * ewin)
|
EWMH_GetWindowIcons(EWin * ewin)
|
||||||
{
|
{
|
||||||
unsigned int *val;
|
unsigned int *val;
|
||||||
int i, num;
|
unsigned int i;
|
||||||
|
int num;
|
||||||
|
|
||||||
if (ewin->ewmh.wm_icon)
|
if (ewin->ewmh.wm_icon)
|
||||||
{
|
{
|
||||||
|
@ -623,16 +624,16 @@ EWMH_GetWindowIcons(EWin * ewin)
|
||||||
if (num <= 0)
|
if (num <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (num < (int)(2 + val[0] * val[1]))
|
if (num < 2 || num < (int)(2 + val[0] * val[1]))
|
||||||
{
|
{
|
||||||
Eprintf
|
Eprintf
|
||||||
("*** EWMH_GetWindowIcons Icon data/size mismatch (ignoring): %s: N=%d WxH=%dx%d\n",
|
("*** EWMH_GetWindowIcons Icon data/size mismatch (ignoring): %s: N=%d WxH=%dx%d\n",
|
||||||
EwinGetName(ewin), num, val[0], val[1]);
|
EwinGetName(ewin), num, val[0], (num >= 2) ? val[1] : 0);
|
||||||
Efree(val);
|
Efree(val);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < num - 1;)
|
for (i = 0; i < (unsigned int)(num - 1);)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
Eprintf("App %s: Icon %d-%4d - %dx%d\n",
|
Eprintf("App %s: Icon %d-%4d - %dx%d\n",
|
||||||
|
@ -640,7 +641,7 @@ EWMH_GetWindowIcons(EWin * ewin)
|
||||||
#endif
|
#endif
|
||||||
i += 2 + val[i] * val[i + 1];
|
i += 2 + val[i] * val[i + 1];
|
||||||
}
|
}
|
||||||
if (i != num)
|
if (i != (unsigned int)num)
|
||||||
Eprintf
|
Eprintf
|
||||||
("*** EWMH_GetWindowIcons Icon data/size mismatch: %s: %d!=%d\n",
|
("*** EWMH_GetWindowIcons Icon data/size mismatch: %s: %d!=%d\n",
|
||||||
EwinGetName(ewin), i, num);
|
EwinGetName(ewin), i, num);
|
||||||
|
|
Loading…
Reference in New Issue