diff options
author | Mike Blumenkrantz <zmike@samsung.com> | 2013-11-25 16:25:21 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@samsung.com> | 2013-11-25 16:25:21 -0500 |
commit | f1f7a1aa20bc13a37967efb779d906684d3e4dbd (patch) | |
tree | 655dcbe516f1d636eada3afc22ca70b0d95374d8 /src/modules | |
parent | baf968c4f2727eef91966dc6eecb5f0a14a88f03 (diff) | |
download | enlightenment-f1f7a1aa20bc13a37967efb779d906684d3e4dbd.tar.gz |
fix gadman loading with no previous config and modules already loaded
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/gadman/e_mod_gadman.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/gadman/e_mod_gadman.c b/src/modules/gadman/e_mod_gadman.c index 1681e7c927..bde12ab4cc 100644 --- a/src/modules/gadman/e_mod_gadman.c +++ b/src/modules/gadman/e_mod_gadman.c @@ -44,19 +44,21 @@ static Eina_Bool gadman_locked; Manager *Man = NULL; static Eina_List *_gadman_hdls = NULL; static Eina_Hash *_gadman_gadgets = NULL; +static Ecore_Job *gadman_reset_job = NULL; /* for locking geometry during our own move/resize */ static Eina_Bool mover_lock = EINA_FALSE; /* Implementation */ void -gadman_reset(void) +gadman_reset(void *d EINA_UNUSED) { E_Gadcon *gc; unsigned int layer; const Eina_List *l; E_Zone *zone; + E_FREE_FUNC(gadman_reset_job, ecore_job_del); if (gadman_locked) return; evas_event_freeze(e_comp_get(Man->container)->evas); for (layer = 0; layer < GADMAN_LAYER_COUNT; layer++) @@ -129,7 +131,7 @@ gadman_init(E_Module *m) e_gadcon_location_register(location); _e_gadman_handlers_add(); - if (!gadman_locked) gadman_reset(); + if (!gadman_locked) gadman_reset_job = ecore_job_add(gadman_reset, NULL); } void @@ -137,6 +139,7 @@ gadman_shutdown(void) { unsigned int layer; + E_FREE_FUNC(gadman_reset_job, ecore_job_del); _e_gadman_handler_del(); gadman_gadget_edit_end(NULL, NULL, NULL, NULL); @@ -1607,7 +1610,7 @@ static Eina_Bool _gadman_module_init_end_cb(void *d __UNUSED__, int type __UNUSED__, void *event __UNUSED__) { gadman_locked = EINA_FALSE; - gadman_reset(); + gadman_reset(NULL); return ECORE_CALLBACK_RENEW; } |