forked from enlightenment/enlightenment
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
This commit is contained in:
parent
10ae53b994
commit
c1cd24a561
|
@ -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);
|
evas_object_data_set(obj, "comp_ref", (void*)1);
|
||||||
}
|
}
|
||||||
edje_object_signal_emit(obj, "e,state,visible", "e");
|
edje_object_signal_emit(obj, "e,state,visible", "e");
|
||||||
|
edje_object_message_signal_process(obj);
|
||||||
evas_object_data_set(obj, "comp_showing", (void*)1);
|
evas_object_data_set(obj, "comp_showing", (void*)1);
|
||||||
if (e_comp_util_object_is_above_nocomp(obj))
|
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);
|
evas_object_data_set(obj, "comp_ref", (void*)1);
|
||||||
}
|
}
|
||||||
edje_object_signal_emit(obj, "e,state,hidden", "e");
|
edje_object_signal_emit(obj, "e,state,hidden", "e");
|
||||||
|
edje_object_message_signal_process(obj);
|
||||||
evas_object_data_set(obj, "comp_hiding", (void*)1);
|
evas_object_data_set(obj, "comp_hiding", (void*)1);
|
||||||
|
|
||||||
if (evas_object_data_del(obj, "comp_override"))
|
if (evas_object_data_del(obj, "comp_override"))
|
||||||
|
|
Loading…
Reference in New Issue