Browse Source

Fix Text:set(" ") not properly clearing the internal buffer (resolves issue #1518).

Alex Szpakowski 5 years ago
parent
commit
5dfcf90e66
1 changed files with 8 additions and 6 deletions
  1. 8 6
      src/modules/graphics/Text.cpp

+ 8 - 6
src/modules/graphics/Text.cpp

@@ -111,21 +111,23 @@ void Text::addTextData(const TextData &t)
 	else
 		new_commands = font->generateVerticesFormatted(t.codepoints, constantcolor, t.wrap, t.align, vertices, &text_info);
 
-	if (vertices.empty())
-		return;
-
-	if (t.use_matrix)
-		t.matrix.transformXY(&vertices[0], &vertices[0], (int) vertices.size());
-
 	size_t voffset = vert_offset;
 
+	// Must be before the early exit below.
 	if (!t.append_vertices)
 	{
 		voffset = 0;
+		vert_offset = 0;
 		draw_commands.clear();
 		text_data.clear();
 	}
 
+	if (vertices.empty())
+		return;
+
+	if (t.use_matrix)
+		t.matrix.transformXY(&vertices[0], &vertices[0], (int) vertices.size());
+
 	uploadVertices(vertices, voffset);
 
 	if (!new_commands.empty())