fix crash when deleting shader from material, fixes #1631

This commit is contained in:
Juan Linietsky 2015-04-07 22:30:36 -03:00
parent 7852be816a
commit 54ed432913

View file

@ -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);
}