diff options
-rw-r--r-- | src/lib/evas/canvas/evas_object_intercept.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index e627daab97..9ce9d0b5a2 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c @@ -100,10 +100,13 @@ _evas_object_intercept_call_internal(Evas_Object *eo_obj, { case EVAS_OBJECT_INTERCEPT_CB_VISIBLE: i = !!va_arg(args, int); - if (i == obj->cur->visible) return 1; - if (!obj->interceptors) return 0; - if (i) blocked = evas_object_intercept_call_show(eo_obj, obj); - else blocked = evas_object_intercept_call_hide(eo_obj, obj); + if (obj->interceptors) + { + if (i) blocked = evas_object_intercept_call_show(eo_obj, obj); + else blocked = evas_object_intercept_call_hide(eo_obj, obj); + } + if (!blocked && (i == obj->cur->visible)) + blocked = 1; break; case EVAS_OBJECT_INTERCEPT_CB_MOVE: |