Need to clean this up if it's our grabbed window!
Signed-off-by: Joshua Ashton <joshua@froggi.es>
void interactive_begin(struct view *view, enum input_mode mode,
uint32_t edges);
+void interactive_end(struct view *view);
void output_init(struct server *server);
void output_damage_surface(struct output *output, struct wlr_surface *surface,
break;
}
}
+
+void interactive_end(struct view *view) {
+ if (view->server->grabbed_view == view) {
+ view->server->input_mode = LAB_INPUT_STATE_PASSTHROUGH;
+ view->server->grabbed_view = NULL;
+ }
+}
if (view->toplevel_handle) {
wlr_foreign_toplevel_handle_v1_destroy(view->toplevel_handle);
}
+ interactive_end(view);
wl_list_remove(&view->link);
ssd_destroy(view);
free(view);
if (view->toplevel_handle) {
wlr_foreign_toplevel_handle_v1_destroy(view->toplevel_handle);
}
+ interactive_end(view);
view->xwayland_surface = NULL;
wl_list_remove(&view->link);
wl_list_remove(&view->map.link);