discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=c1cd24a5616740b8c9f21d76a37728968e78fcfd

commit c1cd24a5616740b8c9f21d76a37728968e78fcfd
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Thu Feb 22 12:36:47 2018 -0500

    process comp object hide/show signals immediately during intercept
    
    for objects without animations, it's important to instantly perform
    state transitions in order to preserve intended visibility behaviors of
    these objects and avoid race conditions due to asynchronous signal
    processing
    
    fix T6722
---
 src/bin/e_comp_object.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index c1a7941c7..eecb88817 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2816,6 +2816,7 @@ _e_comp_object_util_show(void *data EINA_UNUSED, 
Evas_Object *obj)
         evas_object_data_set(obj, "comp_ref", (void*)1);
      }
    edje_object_signal_emit(obj, "e,state,visible", "e");
+   edje_object_message_signal_process(obj);
    evas_object_data_set(obj, "comp_showing", (void*)1);
    if (e_comp_util_object_is_above_nocomp(obj))
      {
@@ -2844,6 +2845,7 @@ _e_comp_object_util_hide(void *data EINA_UNUSED, 
Evas_Object *obj)
         evas_object_data_set(obj, "comp_ref", (void*)1);
      }
    edje_object_signal_emit(obj, "e,state,hidden", "e");
+   edje_object_message_signal_process(obj);
    evas_object_data_set(obj, "comp_hiding", (void*)1);
 
    if (evas_object_data_del(obj, "comp_override"))

-- 


Reply via email to