subsurface: set below_object to pass events. 00/248000/2
authorSeunghun Lee <shiin.lee@samsung.com>
Thu, 19 Nov 2020 05:32:03 +0000 (14:32 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Thu, 19 Nov 2020 06:06:24 +0000 (15:06 +0900)
The event EVAS_CALLBACK_MOUSE_OUT cannot happen by creation
of below_obj.

This patch is to fix that Evas object associated with E_Client got
event of mouse_out unexpectedly because of creation of below_obj
even though cursor still remained on the window.

Change-Id: Ia5a5162c7f63f8f7578bdc1ad7bfec1485e3d387

src/bin/e_comp_wl_subsurface.c

index 73a31cf67a4eb897ee4d72bfa5ffb05f926871d0..d4c8e2a453b69ed89e09381ff0d1dd6b8aa60573 100644 (file)
@@ -126,6 +126,10 @@ _e_comp_wl_subsurface_below_obj_create(E_Client *ec)
    below_obj = evas_object_rectangle_add(e_comp->evas);
    EINA_SAFETY_ON_NULL_RETURN(below_obj);
 
+   /* This object doesn't care about mouse event. And It's also
+    * to avoid events of mouse on the E_Client. */
+   evas_object_pass_events_set(below_obj, EINA_TRUE);
+
    layer = evas_object_layer_get(ec->frame);
    evas_object_layer_set(below_obj, layer);
    evas_object_render_op_set(below_obj, EVAS_RENDER_COPY);