From 4bbafc8d0e68ccf7bb60dc76ec8cae2fc77e0ec4 Mon Sep 17 00:00:00 2001 From: smix8 <52464204+smix8@users.noreply.github.com> Date: Thu, 19 Jun 2025 02:55:54 +0200 Subject: [PATCH] Fix MeshInstance3D::get_active_material() error on empty mesh or empty surfaces FixesMeshInstance3D::get_active_material() error on empty mesh or empty surfaces. --- scene/3d/mesh_instance_3d.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scene/3d/mesh_instance_3d.cpp b/scene/3d/mesh_instance_3d.cpp index 41977b78d86..09670358161 100644 --- a/scene/3d/mesh_instance_3d.cpp +++ b/scene/3d/mesh_instance_3d.cpp @@ -380,17 +380,17 @@ Ref MeshInstance3D::get_active_material(int p_surface) const { return mat_override; } + Ref m = get_mesh(); + if (m.is_null() || m->get_surface_count() == 0) { + return Ref(); + } + Ref surface_material = get_surface_override_material(p_surface); if (surface_material.is_valid()) { return surface_material; } - Ref m = get_mesh(); - if (m.is_valid()) { - return m->surface_get_material(p_surface); - } - - return Ref(); + return m->surface_get_material(p_surface); } void MeshInstance3D::_mesh_changed() {