diff options
-rw-r--r-- | sway/tree/view.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 612cf96a..943734dc 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c | |||
@@ -664,6 +664,13 @@ void view_unmap(struct sway_view *view) { | |||
664 | struct sway_seat *seat; | 664 | struct sway_seat *seat; |
665 | wl_list_for_each(seat, &server.input->seats, link) { | 665 | wl_list_for_each(seat, &server.input->seats, link) { |
666 | seat->cursor->image_surface = NULL; | 666 | seat->cursor->image_surface = NULL; |
667 | if (seat->cursor->active_constraint) { | ||
668 | struct wlr_surface *constrain_surface = | ||
669 | seat->cursor->active_constraint->surface; | ||
670 | if (view_from_wlr_surface(constrain_surface) == view) { | ||
671 | sway_cursor_constrain(seat->cursor, NULL); | ||
672 | } | ||
673 | } | ||
667 | seat_consider_warp_to_focus(seat); | 674 | seat_consider_warp_to_focus(seat); |
668 | } | 675 | } |
669 | 676 | ||