Merge pull request #46071 from bruvzg/fix_text_line_para_crash_with_invalid_font
Fix `TextLine`/`TextParagraph` crash when `add_string` / `set_dropcap` is called null font reference.
This commit is contained in:
commit
f673a9efe0
|
@ -167,6 +167,7 @@ void TextLine::set_bidi_override(const Vector<Vector2i> &p_override) {
|
|||
}
|
||||
|
||||
bool TextLine::add_string(const String &p_text, const Ref<Font> &p_fonts, int p_size, const Dictionary &p_opentype_features, const String &p_language) {
|
||||
ERR_FAIL_COND_V(p_fonts.is_null(), false);
|
||||
bool res = TS->shaped_text_add_string(rid, p_text, p_fonts->get_rids(), p_size, p_opentype_features, p_language);
|
||||
spacing_top = p_fonts->get_spacing(Font::SPACING_TOP);
|
||||
spacing_bottom = p_fonts->get_spacing(Font::SPACING_BOTTOM);
|
||||
|
|
|
@ -243,6 +243,7 @@ TextServer::Orientation TextParagraph::get_orientation() const {
|
|||
}
|
||||
|
||||
bool TextParagraph::set_dropcap(const String &p_text, const Ref<Font> &p_fonts, int p_size, const Rect2 &p_dropcap_margins, const Dictionary &p_opentype_features, const String &p_language) {
|
||||
ERR_FAIL_COND_V(p_fonts.is_null(), false);
|
||||
TS->shaped_text_clear(dropcap_rid);
|
||||
dropcap_margins = p_dropcap_margins;
|
||||
bool res = TS->shaped_text_add_string(dropcap_rid, p_text, p_fonts->get_rids(), p_size, p_opentype_features, p_language);
|
||||
|
@ -257,6 +258,7 @@ void TextParagraph::clear_dropcap() {
|
|||
}
|
||||
|
||||
bool TextParagraph::add_string(const String &p_text, const Ref<Font> &p_fonts, int p_size, const Dictionary &p_opentype_features, const String &p_language) {
|
||||
ERR_FAIL_COND_V(p_fonts.is_null(), false);
|
||||
bool res = TS->shaped_text_add_string(rid, p_text, p_fonts->get_rids(), p_size, p_opentype_features, p_language);
|
||||
spacing_top = p_fonts->get_spacing(Font::SPACING_TOP);
|
||||
spacing_bottom = p_fonts->get_spacing(Font::SPACING_BOTTOM);
|
||||
|
|
Loading…
Reference in New Issue