diff --git a/drivers/gles3/storage/material_storage.cpp b/drivers/gles3/storage/material_storage.cpp index 3daa0fb8bf0..0860f72a42b 100644 --- a/drivers/gles3/storage/material_storage.cpp +++ b/drivers/gles3/storage/material_storage.cpp @@ -872,10 +872,14 @@ void MaterialData::update_textures(const HashMap &p_paramet E->value = global_textures_pass; } - if (v->override.get_type() == Variant::RID && ((RID)v->override).is_valid()) { - textures.push_back(v->override); - } else if (v->value.get_type() == Variant::RID && ((RID)v->value).is_valid()) { - textures.push_back(v->value); + RID override_rid = v->override; + if (override_rid.is_valid()) { + textures.push_back(override_rid); + } else { + RID value_rid = v->value; + if (value_rid.is_valid()) { + textures.push_back(value_rid); + } } } diff --git a/servers/rendering/renderer_rd/storage_rd/material_storage.cpp b/servers/rendering/renderer_rd/storage_rd/material_storage.cpp index dbfa66c8508..80183825390 100644 --- a/servers/rendering/renderer_rd/storage_rd/material_storage.cpp +++ b/servers/rendering/renderer_rd/storage_rd/material_storage.cpp @@ -906,10 +906,14 @@ void MaterialStorage::MaterialData::update_textures(const HashMapvalue = global_textures_pass; } - if (v->override.get_type() == Variant::RID && ((RID)v->override).is_valid()) { - textures.push_back(v->override); - } else if (v->value.get_type() == Variant::RID && ((RID)v->value).is_valid()) { - textures.push_back(v->value); + RID override_rid = v->override; + if (override_rid.is_valid()) { + textures.push_back(override_rid); + } else { + RID value_rid = v->value; + if (value_rid.is_valid()) { + textures.push_back(value_rid); + } } }