forked from enlightenment/enlightenment
pager - new gad - fix segv on vdesk size config change
match old pager gadget logic as it's happy to not crash when the virtual desktop count config changes @fix
This commit is contained in:
parent
4fcd1a989c
commit
20aaa9464b
|
@ -1769,29 +1769,8 @@ _pager_cb_event_zone_desk_count_set(void *data EINA_UNUSED, int type EINA_UNUSED
|
||||||
{
|
{
|
||||||
if ((xx == p->xnum) && (yy == p->ynum))
|
if ((xx == p->xnum) && (yy == p->ynum))
|
||||||
continue;
|
continue;
|
||||||
for (x = 0; x < xx; x++)
|
_pager_empty(p);
|
||||||
{
|
_pager_fill(p);
|
||||||
for (y = 0; y < yy; y++)
|
|
||||||
{
|
|
||||||
if ((x >= p->xnum) || (y >= p->ynum))
|
|
||||||
{
|
|
||||||
desk = e_desk_at_xy_get(p->zone, x, y);
|
|
||||||
if (desk)
|
|
||||||
pd = _pager_desk_new(p, desk, x, y, p->invert);
|
|
||||||
if (pd)
|
|
||||||
p->desks = eina_list_append(p->desks, pd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EINA_LIST_FOREACH(p->desks, ll, pd)
|
|
||||||
{
|
|
||||||
if (!e_desk_at_xy_get(p->zone, pd->xpos, pd->ypos))
|
|
||||||
{
|
|
||||||
p->desks = eina_list_remove(p->desks, pd);
|
|
||||||
_pager_desk_free(pd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
e_zone_desk_count_get(p->zone, &(p->xnum), &(p->ynum));
|
|
||||||
if (p->inst) _pager_orient(p->inst, e_gadget_site_orient_get(e_gadget_site_get(p->inst->o_pager)));
|
if (p->inst) _pager_orient(p->inst, e_gadget_site_orient_get(e_gadget_site_get(p->inst->o_pager)));
|
||||||
}
|
}
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
|
|
Loading…
Reference in New Issue