shell: Always go through end_busy_cursor when ending the busy cursor grab
This commit is contained in:
+5
-4
@@ -1293,6 +1293,9 @@ shell_surface_resize(struct wl_client *client, struct wl_resource *resource,
|
|||||||
wl_resource_post_no_memory(resource);
|
wl_resource_post_no_memory(resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
end_busy_cursor(struct shell_surface *shsurf, struct weston_pointer *pointer);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
busy_cursor_grab_focus(struct weston_pointer_grab *base)
|
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,
|
pointer->x, pointer->y,
|
||||||
&sx, &sy);
|
&sx, &sy);
|
||||||
|
|
||||||
if (!grab->shsurf || grab->shsurf->surface != surface) {
|
if (!grab->shsurf || grab->shsurf->surface != surface)
|
||||||
shell_grab_end(grab);
|
end_busy_cursor(grab->shsurf, pointer);
|
||||||
free(grab);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user