check stack visibility for hiden effect 01/103601/1
authorMinJeong Kim <minjjj.kim@samsung.com>
Thu, 8 Dec 2016 01:24:43 +0000 (10:24 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Thu, 8 Dec 2016 01:25:21 +0000 (10:25 +0900)
Change-Id: Ia73a9577c41fafed71b53ce567720b6fbde73741
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/e_mod_effect.c

index bcf0815..18c3851 100644 (file)
@@ -514,6 +514,7 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal)
    Evas_Object *below;
    int map_ly;
    int ang = -1;
+   Eina_Bool v1, v2;
 
    if (!_eff) return EINA_FALSE;
 
@@ -535,7 +536,14 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal)
           return EINA_FALSE;
      }
 
+   /* check for object visibility */
    if (!evas_object_visible_get(obj)) return EINA_FALSE;
+
+   /* check for stack visibility */
+   v1 = _eff_visibility_stack_check(ec, _eff->stack.old);
+   v2 = _eff_visibility_stack_check(ec, _eff->stack.cur);
+   if ((!v1) && (!v2)) return EINA_FALSE;
+
    if (!_eff_ref(ec)) return EINA_FALSE;
 
    e_comp_override_add();