diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c b/src/lib/ecore_wl2/ecore_wl2_input.c index 56fc4ed3c7..f52c1686d6 100644 --- a/src/lib/ecore_wl2/ecore_wl2_input.c +++ b/src/lib/ecore_wl2/ecore_wl2_input.c @@ -486,6 +486,7 @@ _pointer_cb_enter(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned i window = _ecore_wl2_display_window_surface_find(input->display, surface); if (!window) return; + window->input = input; input->focus.pointer = window; _ecore_wl2_input_mouse_in_send(input, window); @@ -510,6 +511,8 @@ _pointer_cb_leave(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned i window = _ecore_wl2_display_window_surface_find(input->display, surface); if (!window) return; + window->input = NULL; + _ecore_wl2_input_mouse_out_send(input, window); }