diff options
author | Bernhard Liebl <Bernhard.Liebl@gmx.org> | 2018-03-02 19:19:46 +0100 |
---|---|---|
committer | Bernhard Liebl <Bernhard.Liebl@gmx.org> | 2018-03-02 19:19:46 +0100 |
commit | 0e1e95c41f02acd5ed5c347ff63d0e38185525ad (patch) | |
tree | fdc93ff92bf6380068a46374e5a43047f2077218 /scene | |
parent | 79a07527ab87de385bf8fd8f7f9d7f09e55a77dc (diff) |
Fix more regressions in RichTextLabel from PR 15711
Diffstat (limited to 'scene')
-rw-r--r-- | scene/gui/rich_text_label.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index a92c3c326d..5bc5d8e690 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -247,6 +247,7 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int & int rchar = 0; int lh = 0; bool line_is_blank = true; + int fh = 0; while (it) { @@ -262,14 +263,9 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int & const CharType *c = text->text.c_str(); const CharType *cf = c; - int fh = font->get_height(); int ascent = font->get_ascent(); int descent = font->get_descent(); - line_ascent = MAX(line_ascent, ascent); - line_descent = MAX(line_descent, descent); - fh = MAX(fh, line_ascent + line_descent); // various fonts! - Color color; bool underline = false; @@ -317,12 +313,12 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int & end++; } + CHECK_HEIGHT(fh); ENSURE_WIDTH(w); - if (p_mode == PROCESS_CACHE) { - line_ascent = ascent; - line_descent = descent; - } + line_ascent = MAX(line_ascent, ascent); + line_descent = MAX(line_descent, descent); + fh = line_ascent + line_descent; if (end && c[end - 1] == ' ') { if (p_mode == PROCESS_CACHE) { |