From 94dc57f3c5e147ebcb378104d51352c33f2fa9da Mon Sep 17 00:00:00 2001 From: Dmitri Kourennyi Date: Mon, 1 Apr 2019 16:12:42 -0400 Subject: Ensure predicted position for short text handling doesn't overflow. - Predicted status line can be negative, so corresponding variables should not be unsigned. Changed to double as position is actually calculated as double. --- swaybar/render.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'swaybar') diff --git a/swaybar/render.c b/swaybar/render.c index faf17509..a0200f0d 100644 --- a/swaybar/render.c +++ b/swaybar/render.c @@ -454,10 +454,11 @@ static uint32_t render_status_line_i3bar(cairo_t *cairo, bool use_short_text = false; // TODO: Add margin here? - uint32_t reserved_width = predict_workspace_buttons_length(cairo, output) + + double reserved_width = + predict_workspace_buttons_length(cairo, output) + predict_binding_mode_indicator_length(cairo, output); - uint32_t predicted_full_pos = + double predicted_full_pos = predict_status_line_pos(cairo, output, *x); if (predicted_full_pos < reserved_width) { -- cgit v1.2.3