diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-06-19 07:47:10 -0700 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-06-22 13:57:26 -0400 |
commit | 290d3eded81dfa31b7e2c4c40f45a5be646943fb (patch) | |
tree | a4d09bdf0cb2fb893c0a0d093c84f6dbf9cd08c3 /pango | |
parent | 8c6c510d0002e1c97f9a96e503d9a951b9b1b610 (diff) | |
download | pango-290d3eded81dfa31b7e2c4c40f45a5be646943fb.tar.gz |
Avoid overflow when calculating caret slope
This showed up as wrong slopes with font size > 60.
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pango-line.c | 3 |
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) { |