fix a memory leak in init function 00/153300/1
authorJengHyun Kang <jhyuni.kang@samsung.com>
Thu, 28 Sep 2017 08:11:14 +0000 (17:11 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Thu, 28 Sep 2017 08:11:37 +0000 (17:11 +0900)
Change-Id: Ie56d291a3f3943eb3ac9743d9ab9f3791efc0f7f

src/e_mod_effect.c

index 2b1f8c1..80f7880 100644 (file)
@@ -1725,6 +1725,8 @@ e_mod_effect_init(void)
    eff = E_NEW(E_Effect, 1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(eff, EINA_FALSE);
 
+   _eff = eff;
+
    if ((cfg = e_comp_config_get()))
      {
         eff->file = eina_stringshare_add(cfg->effect_file);
@@ -1776,8 +1778,6 @@ e_mod_effect_init(void)
    E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,restack*",          _eff_cb_restack,              eff);
    E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,launch,done",       _eff_cb_launch,               eff);
 
-   _eff = eff;
-
    return EINA_TRUE;
 
 err:
@@ -1804,5 +1804,11 @@ e_mod_effect_shutdown()
    E_FREE_FUNC(_eff->resources, eina_hash_free);
    E_FREE_FUNC(_eff->clients, eina_hash_free);
 
+   if (e_comp_config_get())
+     {
+        eina_stringshare_del(_eff->file);
+        eina_stringshare_del(_eff->style);
+     }
+
    E_FREE(_eff);
 }