do not use x11 input windows for grab dialogs when running in wayland
This commit is contained in:
parent
7b79e03937
commit
6451a65754
|
@ -73,8 +73,11 @@ _e_grab_dialog_free(E_Grab_Dialog *eg)
|
||||||
{
|
{
|
||||||
e_grabinput_release(eg->grab_win, eg->grab_win);
|
e_grabinput_release(eg->grab_win, eg->grab_win);
|
||||||
#ifndef HAVE_WAYLAND_ONLY
|
#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
|
#endif
|
||||||
|
e_comp_ungrab_input(1, 1);
|
||||||
}
|
}
|
||||||
E_FREE_LIST(eg->handlers, ecore_event_handler_del);
|
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);
|
evas_object_event_callback_add(eg->dia->win, EVAS_CALLBACK_DEL, _e_grab_dialog_delete, eg);
|
||||||
|
|
||||||
#ifndef HAVE_WAYLAND_ONLY
|
#ifndef HAVE_WAYLAND_ONLY
|
||||||
eg->grab_win = ecore_x_window_input_new(e_comp->root, 0, 0, 1, 1);
|
if (e_comp->comp_type == E_PIXMAP_TYPE_X)
|
||||||
ecore_x_window_show(eg->grab_win);
|
{
|
||||||
e_grabinput_get(eg->grab_win, 0, eg->grab_win);
|
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
|
#endif
|
||||||
|
{
|
||||||
|
e_comp_grab_input(1, 1);
|
||||||
|
eg->grab_win = e_comp->ee_win;
|
||||||
|
}
|
||||||
|
|
||||||
eg->key = key;
|
eg->key = key;
|
||||||
eg->mouse = mouse;
|
eg->mouse = mouse;
|
||||||
|
|
Loading…
Reference in New Issue