commit 94dc57f3c5e147ebcb378104d51352c33f2fa9da
parent 0553e75b53137e6d509b6e336c21586f2b75d527
Author: Dmitri Kourennyi <dkour@mykolab.com>
Date: Mon, 1 Apr 2019 16:12:42 -0400
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.
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git 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) {