summaryrefslogtreecommitdiff
path: root/sway/tree/root.c
diff options
context:
space:
mode:
authorRAR27 <[email protected]>2023-06-02 20:19:25 -0400
committerGitHub <[email protected]>2023-06-02 20:19:25 -0400
commit6a6cf2841c4bb83f45015067d5bd503be1ab0188 (patch)
treee3e6f22804dcd2fbda4d136fa52ab833bd93b782 /sway/tree/root.c
parent15bf6ae835f43a4b2cc870dafc525735dfedc54a (diff)
fix: crash when moving tabbed container to scratchpad (#182)
when `scratchpad_minimize` enabled
Diffstat (limited to 'sway/tree/root.c')
-rw-r--r--sway/tree/root.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sway/tree/root.c b/sway/tree/root.c
index 636a3b75..2c1b96b8 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);
+ }
}
}