shell: Dont set grab cursor if desktop-shell client died
authorKristian Høgsberg <krh@bitplanet.net>
Wed, 3 Jul 2013 23:24:57 +0000 (19:24 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 3 Jul 2013 23:26:04 +0000 (19:26 -0400)
If we don't have a desktop-shell helper client, don't try to send events
to it.

https://bugs.freedesktop.org/show_bug.cgi?id=65961

src/shell.c

index 3b6ac42..bbc3d05 100644 (file)
@@ -335,9 +335,13 @@ shell_grab_start(struct shell_grab *grab,
        grab->pointer = pointer;
 
        weston_pointer_start_grab(pointer, &grab->grab);
-       desktop_shell_send_grab_cursor(shell->child.desktop_shell, cursor);
-       weston_pointer_set_focus(pointer, shell->grab_surface,
-                                wl_fixed_from_int(0), wl_fixed_from_int(0));
+       if (shell->child.desktop_shell) {
+               desktop_shell_send_grab_cursor(shell->child.desktop_shell,
+                                              cursor);
+               weston_pointer_set_focus(pointer, shell->grab_surface,
+                                        wl_fixed_from_int(0),
+                                        wl_fixed_from_int(0));
+       }
 }
 
 static void