aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/e_comp_object.c
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-03-02 11:13:21 -0500
commit2e0e3a356be8238816d910bd8cb47624433632e8 (patch)
tree9453447e5bc7710b71bdab9da97575f6d6d36738 /src/bin/e_comp_object.c
parentuse per-instance event handler for batman powersave eventing (diff)
downloadenlightenment-2e0e3a356be8238816d910bd8cb47624433632e8.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
Diffstat (limited to 'src/bin/e_comp_object.c')
-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 755538b17..b141e3ce4 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"))