Create effect client for existing clients at init time 49/82649/1
authorMinJeong Kim <minjjj.kim@samsung.com>
Fri, 5 Aug 2016 01:54:10 +0000 (10:54 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Fri, 5 Aug 2016 01:54:10 +0000 (10:54 +0900)
Change-Id: I850a20f78588cbc3aecd497f767642bd72027b4d
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/e_mod_effect.c

index 46b95b1..1cc15f5 100644 (file)
@@ -1137,6 +1137,9 @@ e_mod_effect_init(void)
 {
    E_Effect *effect;
    E_Comp_Config *config;
+   Eina_List *l;
+   E_Client *ec;
+   E_Effect_Client *efc;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp->evas, EINA_FALSE);
@@ -1158,6 +1161,18 @@ e_mod_effect_init(void)
    effect->clients = eina_hash_pointer_new(_e_mod_effect_cb_client_data_free);
    EINA_SAFETY_ON_NULL_GOTO(effect->clients, err);
 
+   EINA_LIST_FOREACH(e_comp->clients, l, ec)
+     {
+        if (!ec->ignored)
+          {
+             efc = _e_mod_effect_client_get(ec);
+             if (!efc)
+               efc = _e_mod_effect_client_new(ec);
+             if (efc)
+               eina_hash_add(effect->clients, &ec, efc);
+          }
+     }
+
    effect->resources = eina_hash_pointer_new(NULL);
    EINA_SAFETY_ON_NULL_GOTO(effect->resources, err);