Patch from David Stevenson to stop pager module causing E to segfault when setting the number of desks via enlightenment_remote. Tested, works
SVN revision: 19776
This commit is contained in:
parent
9a4c1eb800
commit
c35ae8482f
|
@ -1462,6 +1462,21 @@ _pager_cb_event_zone_desk_count_set(void *data, int type, void *event)
|
||||||
else dh = 0;
|
else dh = 0;
|
||||||
dh *= (desks_y - face->ynum);
|
dh *= (desks_y - face->ynum);
|
||||||
|
|
||||||
|
/* Loop to add new desks */
|
||||||
|
for (x = 0; x < desks_x; x++)
|
||||||
|
{
|
||||||
|
for (y = 0; y < desks_y; y++)
|
||||||
|
{
|
||||||
|
if ((x >= face->xnum) || (y >= face->ynum))
|
||||||
|
{
|
||||||
|
/* add desk */
|
||||||
|
desk = e_desk_at_xy_get(ev->zone, x, y);
|
||||||
|
pd = _pager_desk_new(face, desk, x, y);
|
||||||
|
if (pd)
|
||||||
|
face->desks = evas_list_append(face->desks, pd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
/* Loop to remove extra desks */
|
/* Loop to remove extra desks */
|
||||||
for (l2 = face->desks; l2;)
|
for (l2 = face->desks; l2;)
|
||||||
{
|
{
|
||||||
|
@ -1480,21 +1495,6 @@ _pager_cb_event_zone_desk_count_set(void *data, int type, void *event)
|
||||||
_pager_desk_free(pd);
|
_pager_desk_free(pd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Loop to add new desks */
|
|
||||||
for (x = 0; x < desks_x; x++)
|
|
||||||
{
|
|
||||||
for (y = 0; y < desks_y; y++)
|
|
||||||
{
|
|
||||||
if ((x >= face->xnum) || (y >= face->ynum))
|
|
||||||
{
|
|
||||||
/* add desk */
|
|
||||||
desk = e_desk_at_xy_get(ev->zone, x, y);
|
|
||||||
pd = _pager_desk_new(face, desk, x, y);
|
|
||||||
if (pd)
|
|
||||||
face->desks = evas_list_append(face->desks, pd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
face->xnum = desks_x;
|
face->xnum = desks_x;
|
||||||
face->ynum = desks_y;
|
face->ynum = desks_y;
|
||||||
|
|
Loading…
Reference in New Issue