aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2020-01-03 07:36:33 +0100
committerFurkan Sahin <furkan-dev@proton.me>2020-01-03 07:36:33 +0100
commita01e0a23a0e5ff97c9af4fe80933041fa8a26f75 (patch)
treefc6bb5b0b3f4a21273dcefed351002add4cba74a
parent97105c8fddaf0b1d4635ff728d2eaad971cf3b13 (diff)
xwayland: handle size_hints == NULL
In case xcb-iccm is not installed on the system, size_hints will be null. Handle this as if the get_constraints functions was not implemented and return the defaults. Fixes #4870
-rw-r--r--sway/desktop/xwayland.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c
index 845d158d..e99fe06a 100644
--- a/sway/desktop/xwayland.c
+++ b/sway/desktop/xwayland.c
@@ -298,6 +298,15 @@ static void get_constraints(struct sway_view *view, double *min_width,
double *max_width, double *min_height, double *max_height) {
struct wlr_xwayland_surface *surface = view->wlr_xwayland_surface;
struct wlr_xwayland_surface_size_hints *size_hints = surface->size_hints;
+
+ if (size_hints == NULL) {
+ *min_width = DBL_MIN;
+ *max_width = DBL_MAX;
+ *min_height = DBL_MIN;
+ *max_height = DBL_MAX;
+ return;
+ }
+
*min_width = size_hints->min_width > 0 ? size_hints->min_width : DBL_MIN;
*max_width = size_hints->max_width > 0 ? size_hints->max_width : DBL_MAX;
*min_height = size_hints->min_height > 0 ? size_hints->min_height : DBL_MIN;