aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2018-02-22 12:36:47 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2018-02-22 12:36:47 -0500
commitc1cd24a5616740b8c9f21d76a37728968e78fcfd (patch)
tree0d96df11cc829bc19fb0d9ae00d472cc0493b214
parentre-set sandbox gadget cmdline on startup (diff)
downloadenlightenment-c1cd24a5616740b8c9f21d76a37728968e78fcfd.tar.gz
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 https://phab.enlightenment.org/T6722
-rw-r--r--src/bin/e_comp_object.c2
1 files changed, 2 insertions, 0 deletions
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"))