text: fix is_whitespace() assertion when invalid chars are included

This commit is contained in:
rdb 2018-02-17 20:48:58 +01:00
parent 95eee0cab2
commit 5c90f64182
2 changed files with 11 additions and 3 deletions

View File

@ -1626,10 +1626,11 @@ assemble_row(TextAssembler::TextRow &row,
} }
if (first_glyph != (TextGlyph *)NULL) { if (first_glyph != (TextGlyph *)NULL) {
assert(!first_glyph->is_whitespace());
advance = first_glyph->get_advance() * advance_scale; advance = first_glyph->get_advance() * advance_scale;
swap(placement._glyph, first_glyph); if (!first_glyph->is_whitespace()) {
placed_glyphs.push_back(placement); swap(placement._glyph, first_glyph);
placed_glyphs.push_back(placement);
}
} }
// Check if there is a second glyph to create a hacky ligature or some // Check if there is a second glyph to create a hacky ligature or some

View File

@ -0,0 +1,7 @@
from panda3d import core
def test_text_assemble_null():
# Tests that no is_whitespace() assert occurs
assembler = core.TextAssembler(core.TextEncoder())
assembler.set_wtext(u"\0test")
assembler.assemble_text()