From 9b4c1bfe26c3c4b313e99ba13ca721e269d5c099 Mon Sep 17 00:00:00 2001 From: Rehan Date: Fri, 2 Jun 2023 19:55:13 -0400 Subject: [PATCH] fix: crash when moving tabbed container to scratchpad when `scratchpad_minimize` enabled --- sway/tree/root.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sway/tree/root.c b/sway/tree/root.c index 636a3b757..2c1b96b8e 100644 --- a/sway/tree/root.c +++ b/sway/tree/root.c @@ -57,12 +57,15 @@ void root_destroy(struct sway_root *root) { /* Set minimized state from scratchpad container `show` state */ static void root_scratchpad_set_minimize(struct sway_container *con, bool minimize) { - struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel = con->view->foreign_toplevel; - if (wlr_surface_is_xwayland_surface(con->view->surface)) { - struct wlr_xwayland_surface *xsurface = wlr_xwayland_surface_from_wlr_surface(con->view->surface); - wlr_xwayland_surface_set_minimized(xsurface, minimize); - } else if (foreign_toplevel) { - wlr_foreign_toplevel_handle_v1_set_minimized(foreign_toplevel, minimize); + if (con->view) { + struct wlr_foreign_toplevel_handle_v1 *foreign_toplevel = con->view->foreign_toplevel; + + if (wlr_surface_is_xwayland_surface(con->view->surface)) { + struct wlr_xwayland_surface *xsurface = wlr_xwayland_surface_from_wlr_surface(con->view->surface); + wlr_xwayland_surface_set_minimized(xsurface, minimize); + } else if (foreign_toplevel) { + wlr_foreign_toplevel_handle_v1_set_minimized(foreign_toplevel, minimize); + } } }