e_comp_object: set the pass events on the image object of the comp_object 07/312707/3 accepted/tizen/7.0/unified/20240613.150102 accepted/tizen/7.0/unified/20240613.162051
authorChangyeon Lee <cyeon.lee@samsung.com>
Thu, 13 Jun 2024 07:11:49 +0000 (16:11 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 13 Jun 2024 08:07:36 +0000 (17:07 +0900)
The image object should not receive the event because the default input object
should receive the input event.
Otherwise, when the image object and the default input object are different,
the image object may receive the input event.

Change-Id: I431fe7ea7f461528e9bc86bfac6a8edfb2f5f63b

src/bin/e_comp_object.c

index 34c5796c3bdd5eb41dd01de68712331c74996411..d64b22d7682f69d2d13053aeb9b9b5f3cddd8541 100644 (file)
@@ -1232,7 +1232,7 @@ _e_comp_object_shadow_setup(E_Comp_Object *cw)
      }
 
    evas_object_pass_events_set(cw->default_input_obj, pass_event_flag);
-   evas_object_pass_events_set(cw->obj, pass_event_flag);
+   evas_object_pass_events_set(cw->obj, EINA_TRUE);
 #ifdef BORDER_ZOOMAPS
    e_zoomap_child_edje_solid_setup(cw->zoomobj);
 #endif
@@ -2645,6 +2645,7 @@ _e_comp_intercept_show(void *data, Evas_Object *obj EINA_UNUSED)
              evas_object_image_smooth_scale_set(cw->obj, e_comp_config_get()->smooth_windows);
              evas_object_name_set(cw->obj, "cw->obj");
              evas_object_image_colorspace_set(cw->obj, EVAS_COLORSPACE_ARGB8888);
+             evas_object_pass_events_set(cw->obj, EINA_TRUE);
           }
         _e_comp_object_alpha_set(cw);
 #ifdef BORDER_ZOOMAPS
@@ -2859,7 +2860,7 @@ _e_comp_object_frame_recalc(E_Comp_Object *cw)
                }
           }
         evas_object_pass_events_set(cw->default_input_obj, pass_event_flag);
-        evas_object_pass_events_set(cw->obj, pass_event_flag);
+        evas_object_pass_events_set(cw->obj, EINA_TRUE);
      }
    else
      {
@@ -4235,7 +4236,6 @@ e_comp_object_input_area_set(Evas_Object *obj, int x, int y, int w, int h)
           MAX(cw->ec->client.x + (!!cw->frame_object * cw->client_inset.l), 0) + x,
           MAX(cw->ec->client.y + (!!cw->frame_object * cw->client_inset.t), 0) + y, w, h);
         evas_object_pass_events_set(cw->default_input_obj, 1);
-        evas_object_pass_events_set(cw->obj, 1);
         if (cw->visible)
           {
              evas_object_show(input_rect_data->obj);
@@ -4247,7 +4247,6 @@ e_comp_object_input_area_set(Evas_Object *obj, int x, int y, int w, int h)
         evas_object_smart_member_del(cw->input_obj);
         E_FREE_FUNC(cw->input_obj, evas_object_del);
         evas_object_pass_events_set(cw->default_input_obj, 0);
-        evas_object_pass_events_set(cw->obj, 0);
      }
 }
 
@@ -6021,6 +6020,7 @@ e_comp_object_content_set(Evas_Object *obj,
    cw->content_type = type;
    e_util_size_debug_set(cw->obj, 1);
    evas_object_name_set(cw->obj, "cw->obj");
+   evas_object_pass_events_set(cw->obj, EINA_TRUE);
    _e_comp_object_alpha_set(cw);
 
    if (cw->shobj)
@@ -6083,6 +6083,7 @@ e_comp_object_content_unset(Evas_Object *obj)
    evas_object_image_smooth_scale_set(cw->obj, e_comp_config_get()->smooth_windows);
    evas_object_name_set(cw->obj, "cw->obj");
    evas_object_image_colorspace_set(cw->obj, EVAS_COLORSPACE_ARGB8888);
+   evas_object_pass_events_set(cw->obj, EINA_TRUE);
    _e_comp_object_alpha_set(cw);
 
    if (cw->shobj)