diff --git a/src/bin/e_module.c b/src/bin/e_module.c index 85787f747..3e831f729 100644 --- a/src/bin/e_module.c +++ b/src/bin/e_module.c @@ -289,7 +289,7 @@ e_module_enable(E_Module *m) e_config_save_queue(); ev = E_NEW(E_Event_Module_Update, 1); - ev->name = strdup(em->name); + ev->name = eina_stringshare_ref(em->name); ev->enabled = 1; ecore_event_add(E_EVENT_MODULE_UPDATE, ev, _e_module_event_update_free, NULL); @@ -326,7 +326,7 @@ e_module_disable(E_Module *m) e_config_save_queue(); ev = E_NEW(E_Event_Module_Update, 1); - ev->name = strdup(em->name); + ev->name = eina_stringshare_ref(em->name); ev->enabled = 0; ecore_event_add(E_EVENT_MODULE_UPDATE, ev, _e_module_event_update_free, NULL); @@ -598,7 +598,7 @@ _e_module_event_update_free(void *data __UNUSED__, void *event) E_Event_Module_Update *ev; if (!(ev = event)) return; - E_FREE(ev->name); + eina_stringshare_del(ev->name); E_FREE(ev); } diff --git a/src/bin/e_module.h b/src/bin/e_module.h index 0e41344b3..a8bd2c5be 100644 --- a/src/bin/e_module.h +++ b/src/bin/e_module.h @@ -18,8 +18,8 @@ extern EAPI int E_EVENT_MODULE_INIT_END; struct _E_Event_Module_Update { - char *name; - unsigned char enabled : 1; + const char *name; + Eina_Bool enabled : 1; }; struct _E_Module