discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=6451a657546febd1f1c42e58ccf0a48fdbf59e7e

commit 6451a657546febd1f1c42e58ccf0a48fdbf59e7e
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Oct 21 12:23:44 2015 -0400

    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 db533fe..c00ac5f 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;

-- 


Reply via email to