From bba1dcfad7d66f95fc64ec7b54ac252ac91be4c6 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 14 Aug 2013 07:53:46 +0100 Subject: [PATCH] don't wl shell grab on inactive shell surfaces when trying to set busy cursor; fixes infinite loop caused by ping timeout --- src/modules/wl_desktop_shell/e_mod_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 7818d09a5..e67f7e94e 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -364,6 +364,7 @@ _e_wl_shell_cb_pointer_focus(struct wl_listener *listener EINA_UNUSED, void *dat if ((ews->mapped) && (ews->shell_surface) && (!ews->shell_surface->active)) { E_Wayland_Shell_Grab *grab = NULL; + E_Wayland_Desktop_Shell *shell; /* try to allocate space for our grab structure */ if (!(grab = E_NEW(E_Wayland_Shell_Grab, 1))) return; @@ -373,9 +374,8 @@ _e_wl_shell_cb_pointer_focus(struct wl_listener *listener EINA_UNUSED, void *dat grab->y = ptr->grab_y; /* set busy cursor */ - _e_wl_shell_grab_start(grab, ews->shell_surface, ptr, - &_e_busy_grab_interface, - E_DESKTOP_SHELL_CURSOR_BUSY); + shell = ews->shell_surface->shell; + e_desktop_shell_send_grab_cursor(shell->wl.resource, E_DESKTOP_SHELL_CURSOR_BUSY); } else {