fix gadman load/shutdown

SVN revision: 80641
This commit is contained in:
Mike Blumenkrantz 2012-12-11 10:49:17 +00:00
parent 00cac2c0a4
commit c94aac1b87
1 changed files with 5 additions and 3 deletions

View File

@ -66,7 +66,7 @@ gadman_reset(void)
e_object_del(E_OBJECT(gc)); e_object_del(E_OBJECT(gc));
Man->gadgets[layer] = eina_list_free(Man->gadgets[layer]); Man->gadgets[layer] = eina_list_free(Man->gadgets[layer]);
evas_object_del(Man->movers[layer]); if (Man->movers[layer]) evas_object_del(Man->movers[layer]);
Man->movers[layer] = NULL; Man->movers[layer] = NULL;
} }
Man->gc_top = NULL; Man->gc_top = NULL;
@ -101,7 +101,7 @@ gadman_init(E_Module *m)
if (!Man) return; if (!Man) return;
Man->module = m; Man->module = m;
gadman_locked = EINA_TRUE; gadman_locked = e_module_loading_get();
Man->container = e_container_current_get(e_manager_current_get()); Man->container = e_container_current_get(e_manager_current_get());
Man->width = Man->container->w; Man->width = Man->container->w;
Man->height = Man->container->h; Man->height = Man->container->h;
@ -127,8 +127,8 @@ gadman_init(E_Module *m)
e_gadcon_location_set_icon_name(location, "preferences-desktop"); e_gadcon_location_set_icon_name(location, "preferences-desktop");
e_gadcon_location_register(location); e_gadcon_location_register(location);
_gadman_gadgets = eina_hash_string_superfast_new(NULL);
_e_gadman_handlers_add(); _e_gadman_handlers_add();
Man->gadman_reset_timer = ecore_timer_add(0.1, _e_gadman_reset_timer, NULL);
} }
void void
@ -419,6 +419,7 @@ gadman_gadget_edit_end(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const
E_Gadcon *gc; E_Gadcon *gc;
gc = eina_list_data_get(Man->gadcons[layer]); gc = eina_list_data_get(Man->gadcons[layer]);
if (!gc) continue;
if (!gc->editing) continue; if (!gc->editing) continue;
evas_object_event_callback_del(Man->movers[layer], EVAS_CALLBACK_HIDE, gadman_edit); evas_object_event_callback_del(Man->movers[layer], EVAS_CALLBACK_HIDE, gadman_edit);
@ -828,6 +829,7 @@ _gadman_gadcon_new(const char *name, Gadman_Layer_Type layer, E_Zone *zone, E_Ga
} }
e_gadcon_custom_new(gc); e_gadcon_custom_new(gc);
e_gadcon_custom_populate_request(gc);
if (!Man->movers[layer]) if (!Man->movers[layer])
Man->movers[layer] = _create_mover(gc); Man->movers[layer] = _create_mover(gc);