From 34ce5d648f66bd16e8902335756ca40caca55f2e Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 23 Jun 2017 17:43:58 -0400 Subject: [PATCH] elm_win: access wl seats in a more portable way seat names are not guaranteed to be the same in every compositor so this should not be hardcoded --- src/lib/elementary/efl_ui_win.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 39ee0b7..12bffbd 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -3143,10 +3143,12 @@ _elm_win_wl_cursor_set(Evas_Object *obj, const char *cursor) { /* FIXME: multiseat */ Ecore_Wl2_Input *input; + Eina_Iterator *it; - input = ecore_wl2_display_input_find_by_name(ecore_wl2_window_display_get(sd->wl.win), "default"); - EINA_SAFETY_ON_NULL_RETURN(input); - ecore_wl2_input_pointer_set(input, sd->pointer.surf, sd->pointer.hot_x, sd->pointer.hot_y); + it = ecore_wl2_display_inputs_get(ecore_wl2_window_display_get(sd->wl.win)); + EINA_ITERATOR_FOREACH(it, input) + ecore_wl2_input_pointer_set(input, sd->pointer.surf, sd->pointer.hot_x, sd->pointer.hot_y); + eina_iterator_free(it); } } #endif @@ -4115,8 +4117,12 @@ _elm_win_frame_cb_menu(void *data, if (x < 0) x += wx; if (y < 0) y += wy; - input = ecore_wl2_display_input_find_by_name(ecore_wl2_window_display_get(sd->wl.win), "default"); - + { + Eina_Iterator *it; + it = ecore_wl2_display_inputs_get(ecore_wl2_window_display_get(sd->wl.win)); + EINA_ITERATOR_FOREACH(it, input) break; + eina_iterator_free(it); + } if (sd->wl.win->zxdg_toplevel) zxdg_toplevel_v6_show_window_menu(sd->wl.win->zxdg_toplevel, ecore_wl2_input_seat_get(input), 0, x, y); -- 2.7.4