diff options
| author | Juan Linietsky | 2015-04-07 22:30:36 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2015-04-07 22:30:36 -0300 |
| commit | 54ed432913fe07c0529dcf4aa13c50e1446e5689 (patch) | |
| tree | c500b27b768d74cee909aecb2f50c0847f37e3da | |
| parent | 7852be816a63d022c033bdaf76d0a7706630edd1 (diff) | |
| download | godot-54ed432913fe07c0529dcf4aa13c50e1446e5689.tar.gz godot-54ed432913fe07c0529dcf4aa13c50e1446e5689.tar.zst godot-54ed432913fe07c0529dcf4aa13c50e1446e5689.zip | |
fix crash when deleting shader from material, fixes #1631
| -rw-r--r-- | scene/resources/material.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 633dd72ce..5d46605d6 100644 --- a/scene/resources/material.cpp +++ b/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); } |
