|
|
@ -439,6 +439,11 @@ void view_destroy(struct roots_view *view) {
|
|
|
|
view_unmap(view);
|
|
|
|
view_unmap(view);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Can happen if fullscreened while unmapped, and hasn't been mapped
|
|
|
|
|
|
|
|
if (view->fullscreen_output != NULL) {
|
|
|
|
|
|
|
|
view->fullscreen_output->fullscreen_view = NULL;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (view->destroy) {
|
|
|
|
if (view->destroy) {
|
|
|
|
view->destroy(view);
|
|
|
|
view->destroy(view);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -576,6 +581,9 @@ static bool view_at(struct roots_view *view, double lx, double ly,
|
|
|
|
view->wl_shell_surface->state == WLR_WL_SHELL_SURFACE_STATE_POPUP) {
|
|
|
|
view->wl_shell_surface->state == WLR_WL_SHELL_SURFACE_STATE_POPUP) {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (view->wlr_surface == NULL) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
double view_sx = lx - view->x;
|
|
|
|
double view_sx = lx - view->x;
|
|
|
|
double view_sy = ly - view->y;
|
|
|
|
double view_sy = ly - view->y;
|
|
|
|