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:
Christopher Michael 2006-01-14 12:30:46 +00:00
parent 9a4c1eb800
commit c35ae8482f
1 changed files with 15 additions and 15 deletions

View File

@ -1462,6 +1462,21 @@ _pager_cb_event_zone_desk_count_set(void *data, int type, void *event)
else dh = 0;
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 */
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);
}
}
/* 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->ynum = desks_y;