summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-03-27 14:00:19 -0400
committerLibravatar emersion <contact@emersion.fr>2019-03-31 09:32:23 +0300
commitdd28e6a6d6abf06d2d16e6c91aeaf942bf225af7 (patch)
tree98d0836c238f9e49b25e65de7c6645813dfe1ad6 /include
parentFix a crash in swaybar when an icon dir is not readable (diff)
downloadsway-dd28e6a6d6abf06d2d16e6c91aeaf942bf225af7.tar.gz
sway-dd28e6a6d6abf06d2d16e6c91aeaf942bf225af7.tar.zst
sway-dd28e6a6d6abf06d2d16e6c91aeaf942bf225af7.zip
Fix xwayland configure request scratchpad crash
This fixes a crash in `container_init_floating` when a xwayland view sends a configure request while in the scratchpad. `container_init_floating` gets called so the configured minimum and maximum sizes gets respected when resizing to the requested size. Since the workspace was NULL, it would SIGSEGV when attempting to get the workspace's output for the output box retrieval. This extracts the resizing portion of `container_init_floating` into a separate function. If the container is in the scratchpad, it will just be resized and skip the centering. Additionally, `container_init_floating` has been renamed to `container_floating_resize_and_center` to more accurately describe what it does.
Diffstat (limited to 'include')
-rw-r--r--include/sway/tree/container.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index d2508994..964061db 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -215,10 +215,7 @@ size_t container_titlebar_height(void);
215void floating_calculate_constraints(int *min_width, int *max_width, 215void floating_calculate_constraints(int *min_width, int *max_width,
216 int *min_height, int *max_height); 216 int *min_height, int *max_height);
217 217
218/** 218void container_floating_resize_and_center(struct sway_container *con);
219 * Resize and center the container in its workspace.
220 */
221void container_init_floating(struct sway_container *container);
222 219
223void container_set_floating(struct sway_container *container, bool enable); 220void container_set_floating(struct sway_container *container, bool enable);
224 221