From 31e13d9f6f7da474d36b5c5d151f47ebd4c9b2ce Mon Sep 17 00:00:00 2001 From: Synzorasize Date: Sun, 12 Jul 2026 03:39:50 -0500 Subject: [PATCH] Ensure key is erased in hashmap `instance_shader_parameters` instead of value (cherry picked from commit 4fc7706a480ee87116768f34f4c3f839e9a6579d) --- scene/3d/visual_instance_3d.cpp | 2 +- scene/main/canvas_item.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scene/3d/visual_instance_3d.cpp b/scene/3d/visual_instance_3d.cpp index c4788c8c47..95a64e4b8a 100644 --- a/scene/3d/visual_instance_3d.cpp +++ b/scene/3d/visual_instance_3d.cpp @@ -404,7 +404,7 @@ void GeometryInstance3D::set_instance_shader_parameter(const StringName &p_name, if (p_value.get_type() == Variant::NIL) { Variant def_value = RS::get_singleton()->instance_geometry_get_shader_parameter_default_value(get_instance(), p_name); RS::get_singleton()->instance_geometry_set_shader_parameter(get_instance(), p_name, def_value); - instance_shader_parameters.erase(p_value); + instance_shader_parameters.erase(p_name); } else { instance_shader_parameters[p_name] = p_value; if (p_value.get_type() == Variant::OBJECT) { diff --git a/scene/main/canvas_item.cpp b/scene/main/canvas_item.cpp index 842824386c..d731e2e099 100644 --- a/scene/main/canvas_item.cpp +++ b/scene/main/canvas_item.cpp @@ -1326,7 +1326,7 @@ void CanvasItem::set_instance_shader_parameter(const StringName &p_name, const V if (p_value.get_type() == Variant::NIL) { Variant def_value = RS::get_singleton()->canvas_item_get_instance_shader_parameter_default_value(get_canvas_item(), p_name); RS::get_singleton()->canvas_item_set_instance_shader_parameter(get_canvas_item(), p_name, def_value); - instance_shader_parameters.erase(p_value); + instance_shader_parameters.erase(p_name); } else { instance_shader_parameters[p_name] = p_value; if (p_value.get_type() == Variant::OBJECT) {