shell: Always go through end_busy_cursor when ending the busy cursor grab

This commit is contained in:
Kristian Høgsberg
2013-07-04 01:12:17 -04:00
parent da751b8f9a
commit 6780073d78
+5 -4
View File
@@ -1293,6 +1293,9 @@ shell_surface_resize(struct wl_client *client, struct wl_resource *resource,
wl_resource_post_no_memory(resource);
}
static void
end_busy_cursor(struct shell_surface *shsurf, struct weston_pointer *pointer);
static void
busy_cursor_grab_focus(struct weston_pointer_grab *base)
{
@@ -1305,10 +1308,8 @@ busy_cursor_grab_focus(struct weston_pointer_grab *base)
pointer->x, pointer->y,
&sx, &sy);
if (!grab->shsurf || grab->shsurf->surface != surface) {
shell_grab_end(grab);
free(grab);
}
if (!grab->shsurf || grab->shsurf->surface != surface)
end_busy_cursor(grab->shsurf, pointer);
}
static void