Browse Source

Merge pull request #102778 from KoBeWi/line_zero

Prevent errors when Line2D has 0 length
Thaddeus Crews 7 months ago
parent
commit
d408264fde
2 changed files with 8 additions and 0 deletions
  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 {