Explorar o código

fix crash when deleting shader from material, fixes #1631

Juan Linietsky %!s(int64=10) %!d(string=hai) anos
pai
achega
54ed432913
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      scene/resources/material.cpp

+ 1 - 1
scene/resources/material.cpp

@@ -534,7 +534,7 @@ void ShaderMaterial::set_shader(const Ref<Shader>& p_shader) {
 	if (shader.is_valid())
 		shader->disconnect(SceneStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->_shader_changed);
 	shader=p_shader;
-	VS::get_singleton()->material_set_shader(material,shader->get_rid());
+	VS::get_singleton()->material_set_shader(material,shader.is_valid()?shader->get_rid():RID());
 	if (shader.is_valid()) {
 		shader->connect(SceneStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->_shader_changed);
 	}