Forráskód Böngészése

Prevent errors when Line2D has 0 length

kobewi 5 hónapja
szülő
commit
842421ea61
2 módosított fájl, 8 hozzáadás és 0 törlés
  1. 3 0
      scene/2d/line_2d.cpp
  2. 5 0
      scene/2d/line_builder.cpp

+ 3 - 0
scene/2d/line_2d.cpp

@@ -299,6 +299,9 @@ void Line2D::_draw() {
 	}
 
 	lb.build();
+	if (lb.indices.is_empty()) {
+		return;
+	}
 
 	RS::get_singleton()->canvas_item_add_triangle_array(
 			get_canvas_item(),

+ 5 - 0
scene/2d/line_builder.cpp

@@ -112,6 +112,11 @@ void LineBuilder::build() {
 		}
 	}
 
+	if (Math::is_zero_approx(total_distance)) {
+		// Zero-length line, nothing to build.
+		return;
+	}
+
 	if (_interpolate_color) {
 		color0 = gradient->get_color(0);
 	} else {