Fix implementation of property_can_revert() in various classes

This commit is contained in:
kobewi
2024-08-06 00:11:02 +02:00
parent db66bd35af
commit b9d25580ce
6 changed files with 32 additions and 65 deletions

View File

@ -382,14 +382,11 @@ void ShaderMaterial::_get_property_list(List<PropertyInfo> *p_list) const {
bool ShaderMaterial::_property_can_revert(const StringName &p_name) const {
if (shader.is_valid()) {
const StringName *pr = remap_cache.getptr(p_name);
if (pr) {
Variant default_value = RenderingServer::get_singleton()->shader_get_parameter_default(shader->get_rid(), *pr);
Variant current_value = get_shader_parameter(*pr);
return default_value.get_type() != Variant::NIL && default_value != current_value;
} else if (p_name == "render_priority" || p_name == "next_pass") {
if (remap_cache.has(p_name)) {
return true;
}
const String sname = p_name;
return sname == "render_priority" || sname == "next_pass";
}
return false;
}