summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-06-19 07:47:10 -0700
committerMatthias Clasen <mclasen@redhat.com>2022-06-22 13:57:26 -0400
commit290d3eded81dfa31b7e2c4c40f45a5be646943fb (patch)
treea4d09bdf0cb2fb893c0a0d093c84f6dbf9cd08c3
parent8c6c510d0002e1c97f9a96e503d9a951b9b1b610 (diff)
downloadpango-290d3eded81dfa31b7e2c4c40f45a5be646943fb.tar.gz
Avoid overflow when calculating caret slope
This showed up as wrong slopes with font size > 60.
-rw-r--r--pango/pango-line.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pango/pango-line.c b/pango/pango-line.c
index bff853bb..0acdd168 100644
--- a/pango/pango-line.c
+++ b/pango/pango-line.c
@@ -1576,7 +1576,8 @@ pango_line_get_caret_pos (PangoLine *line,
return;
hb_font_get_scale (hb_font, &x_scale, &y_scale);
- slope_inv = (caret_run * y_scale) / (double) (caret_rise * x_scale);
+
+ slope_inv = (caret_run / (double) caret_rise) * (y_scale / (double) x_scale);
if (strong_pos)
{