From 7d6a0f698812ce9192dd9a0373f3e85d6b9b9581 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Mon, 8 Apr 2024 13:53:40 +0900 Subject: [PATCH] e_comp_object: use wl_signal_emit instead of wl_signal_emit_mutable to avoid the race condition on mutli-threading Change-Id: Idd1aed07ccdb44795afe00a360bf327cf66ab60a --- src/bin/e_comp_object.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 6c19769..033a041 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1244,7 +1244,7 @@ _e_comp_object_color_visible_set(E_Comp_Object *cw, Eina_Bool set) ELOGF("COMP", "color_visible set:%d", cw->ec, set); - wl_signal_emit_mutable(&cw->events.color_visible_set, NULL); + wl_signal_emit(&cw->events.color_visible_set, NULL); return EINA_TRUE; } @@ -1788,7 +1788,7 @@ _e_comp_intercept_layer_set(void *data, Evas_Object *obj, int layer) layer_set_data.cw = cw; layer_set_data.layer = layer; - wl_signal_emit_mutable(&cw->events.set_layer, &layer_set_data); + wl_signal_emit(&cw->events.set_layer, &layer_set_data); if (cw->visible) { @@ -1946,9 +1946,9 @@ _e_comp_object_lower(E_Comp_Object *cw, Evas_Object *obj) { _e_comp_object_hook_call(E_COMP_OBJECT_HOOK_RESTACK, ec); #ifdef REFACTOR_DESK_AREA - wl_signal_emit_mutable(&cw->events.lower_done, NULL); + wl_signal_emit(&cw->events.lower_done, NULL); #else - wl_signal_emit_mutable(&cw->events.lower, NULL); + wl_signal_emit(&cw->events.lower, NULL); #endif } } @@ -2193,7 +2193,7 @@ _e_comp_intercept_stack_above(void *data, Evas_Object *obj, Evas_Object *above) stack_above_data.cw = cw; stack_above_data.above_obj = above; - wl_signal_emit_mutable(&cw->events.stack_above, &stack_above_data); + wl_signal_emit(&cw->events.stack_above, &stack_above_data); #else if (evas_object_below_get(obj) == above) { @@ -2224,7 +2224,7 @@ _e_comp_intercept_stack_below(void *data, Evas_Object *obj, Evas_Object *below) stack_below_data.cw = cw; stack_below_data.below_obj = below; - wl_signal_emit_mutable(&cw->events.stack_below, &stack_below_data); + wl_signal_emit(&cw->events.stack_below, &stack_below_data); if (!cw->visible) e_comp_render_queue(); @@ -2259,7 +2259,7 @@ _e_comp_intercept_lower(void *data, Evas_Object *obj) TRACE_DS_BEGIN(COMP:INTERCEPT LOWER); #ifdef REFACTOR_DESK_AREA - wl_signal_emit_mutable(&cw->events.lower, cw); + wl_signal_emit(&cw->events.lower, cw); #else if ((cw->ec->layer_block) || (cw->ec->layer_pending)) { @@ -2312,7 +2312,7 @@ _e_comp_intercept_raise(void *data, Evas_Object *obj) TRACE_DS_BEGIN(COMP:INTERCEPT RAISE); #ifdef REFACTOR_DESK_AREA - wl_signal_emit_mutable(&cw->events.raise, cw); + wl_signal_emit(&cw->events.raise, cw); #else if ((cw->ec->layer_block) || (cw->ec->layer_pending)) { @@ -2391,7 +2391,7 @@ _e_comp_intercept_hide(void *data, Evas_Object *obj) ELOGF("COMP", "Hide hidden evas_object:%p", cw->ec, obj); evas_object_hide(obj); - wl_signal_emit_mutable(&cw->events.hide, NULL); + wl_signal_emit(&cw->events.hide, NULL); return; } @@ -2402,7 +2402,7 @@ _e_comp_intercept_hide(void *data, Evas_Object *obj) ELOGF("COMP", "Hide input_only evas_object:%p", cw->ec, obj); evas_object_hide(obj); - wl_signal_emit_mutable(&cw->events.hide, NULL); + wl_signal_emit(&cw->events.hide, NULL); return; } @@ -2446,7 +2446,7 @@ _e_comp_intercept_hide(void *data, Evas_Object *obj) ELOGF("COMP", "Hide normal object:%p", cw->ec, obj); evas_object_hide(obj); - wl_signal_emit_mutable(&cw->events.hide, NULL); + wl_signal_emit(&cw->events.hide, NULL); } static void @@ -2615,7 +2615,7 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw) } } - wl_signal_emit_mutable(&cw->events.show, NULL); + wl_signal_emit(&cw->events.show, NULL); } static void @@ -2803,7 +2803,7 @@ _e_comp_intercept_color_set(void *data, Evas_Object *obj, int r, int g, int b, i evas_object_color_set(obj, r, g, b, a); } - wl_signal_emit_mutable(&cw->events.color_set, NULL); + wl_signal_emit(&cw->events.color_set, NULL); _e_comp_object_color_visible_update(cw); } @@ -5885,7 +5885,7 @@ e_comp_object_content_set(Evas_Object *obj, if (cw->shobj) _e_comp_object_shadow_setup(cw); - wl_signal_emit_mutable(&cw->events.content_type_set, NULL); + wl_signal_emit(&cw->events.content_type_set, NULL); return EINA_TRUE; } @@ -5962,7 +5962,7 @@ e_comp_object_content_unset(Evas_Object *obj) e_comp_object_render(cw->smart_obj); e_comp_object_render_update_add(obj); - wl_signal_emit_mutable(&cw->events.content_type_set, NULL); + wl_signal_emit(&cw->events.content_type_set, NULL); return EINA_TRUE; } @@ -6391,7 +6391,7 @@ e_comp_object_image_filter_set(Evas_Object *obj, E_Comp_Image_Filter filter) cw->image_filter = filter; - wl_signal_emit_mutable(&cw->events.image_filter_set, NULL); + wl_signal_emit(&cw->events.image_filter_set, NULL); return EINA_TRUE; } @@ -6630,7 +6630,7 @@ e_comp_object_render_op_set(Evas_Object *obj, Evas_Render_Op op) evas_object_render_op_set(cw->obj, op); - wl_signal_emit_mutable(&cw->events.render_op_set, NULL); + wl_signal_emit(&cw->events.render_op_set, NULL); } EINTERN Evas_Render_Op -- 2.7.4