[pango/line-height] Avoid recursion
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/line-height] Avoid recursion
- Date: Fri, 5 Jul 2019 04:22:52 +0000 (UTC)
commit 37d5c2365ef977693ee54a50b2e58f2cad66324f
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Jul 5 04:21:16 2019 +0000
Avoid recursion
In an evil twist, getting font metrics creates
a layout to measure the average digit width -
which in turn needs metrics to do its thing.
This is only working by a lucky accident.
Keep it that way for now.
pango/pango-layout.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
---
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index af929c6f..9ad55c6d 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -4654,9 +4654,8 @@ pango_layout_run_get_extents_and_height (PangoLayoutRun *run,
int strikethrough_position;
int new_pos;
- if (!metrics)
- metrics = pango_font_get_metrics (run->item->analysis.font,
- run->item->analysis.language);
+ metrics = pango_font_get_metrics (run->item->analysis.font,
+ run->item->analysis.language);
underline_thickness = pango_font_metrics_get_underline_thickness (metrics);
underline_position = pango_font_metrics_get_underline_position (metrics);
@@ -4710,10 +4709,10 @@ pango_layout_run_get_extents_and_height (PangoLayoutRun *run,
if (height)
{
- if (!metrics)
- metrics = pango_font_get_metrics (run->item->analysis.font,
- run->item->analysis.language);
- *height = pango_font_metrics_get_height (metrics);
+ if (metrics)
+ *height = pango_font_metrics_get_height (metrics);
+ else
+ *height = 0;
}
if (run->item->analysis.flags & PANGO_ANALYSIS_FLAG_CENTERED_BASELINE)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]