fix pager16 recalc crash from previous commit

This commit is contained in:
Mike Blumenkrantz 2014-07-27 12:23:30 -04:00
parent aada5dea8d
commit 8e1c410aba
1 changed files with 5 additions and 5 deletions

View File

@ -50,8 +50,8 @@ struct _Pager
Evas_Coord dnd_x, dnd_y; Evas_Coord dnd_x, dnd_y;
Pager_Desk *active_drop_pd; Pager_Desk *active_drop_pd;
E_Client *active_drag_client; E_Client *active_drag_client;
Ecore_Job *recalc;
Eina_Bool invert : 1; Eina_Bool invert : 1;
Eina_Bool recalc : 1;
}; };
struct _Pager_Desk struct _Pager_Desk
@ -318,7 +318,7 @@ _pager_recalc(void *data)
Evas_Coord mw = 0, mh = 0; Evas_Coord mw = 0, mh = 0;
int w, h, zw, zh, w2, h2; int w, h, zw, zh, w2, h2;
p->recalc = EINA_FALSE; p->recalc = NULL;
zw = p->zone->w; zh = p->zone->h; zw = p->zone->w; zh = p->zone->h;
pd = eina_list_data_get(p->desks); pd = eina_list_data_get(p->desks);
if (!pd) return; if (!pd) return;
@ -347,9 +347,8 @@ _pager_resize(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi
{ {
Pager *p = data; Pager *p = data;
if (p->recalc) return; if (!p->recalc)
p->recalc = EINA_TRUE; p->recalc = ecore_job_add(_pager_recalc, p);
ecore_job_add(_pager_recalc, p);
} }
static Pager * static Pager *
@ -374,6 +373,7 @@ _pager_free(Pager *p)
{ {
_pager_empty(p); _pager_empty(p);
evas_object_del(p->o_table); evas_object_del(p->o_table);
ecore_job_del(p->recalc);
pagers = eina_list_remove(pagers, p); pagers = eina_list_remove(pagers, p);
free(p); free(p);
} }