From 6451a657546febd1f1c42e58ccf0a48fdbf59e7e Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 21 Oct 2015 12:23:44 -0400 Subject: [PATCH] do not use x11 input windows for grab dialogs when running in wayland --- src/bin/e_grab_dialog.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/bin/e_grab_dialog.c b/src/bin/e_grab_dialog.c index db533fe72..c00ac5f45 100644 --- a/src/bin/e_grab_dialog.c +++ b/src/bin/e_grab_dialog.c @@ -73,8 +73,11 @@ _e_grab_dialog_free(E_Grab_Dialog *eg) { e_grabinput_release(eg->grab_win, eg->grab_win); #ifndef HAVE_WAYLAND_ONLY - ecore_x_window_free(eg->grab_win); + if (e_comp->comp_type == E_PIXMAP_TYPE_X) + ecore_x_window_free(eg->grab_win); + else #endif + e_comp_ungrab_input(1, 1); } E_FREE_LIST(eg->handlers, ecore_event_handler_del); @@ -130,10 +133,18 @@ e_grab_dialog_show(Evas_Object *parent, Eina_Bool is_mouse, Ecore_Event_Handler_ evas_object_event_callback_add(eg->dia->win, EVAS_CALLBACK_DEL, _e_grab_dialog_delete, eg); #ifndef HAVE_WAYLAND_ONLY - eg->grab_win = ecore_x_window_input_new(e_comp->root, 0, 0, 1, 1); - ecore_x_window_show(eg->grab_win); - e_grabinput_get(eg->grab_win, 0, eg->grab_win); + if (e_comp->comp_type == E_PIXMAP_TYPE_X) + { + eg->grab_win = ecore_x_window_input_new(e_comp->root, 0, 0, 1, 1); + ecore_x_window_show(eg->grab_win); + e_grabinput_get(eg->grab_win, 0, eg->grab_win); + } + else #endif + { + e_comp_grab_input(1, 1); + eg->grab_win = e_comp->ee_win; + } eg->key = key; eg->mouse = mouse;