From d16a608f6d5cfdb45c0a72aaa7c5cbc0ebe19928 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 10 Jun 2013 20:10:03 +0000 Subject: [PATCH] Fix cycles backwards compatibility for specular_toon shader this actually needs to be done in cycles itself to keep compatibility for bytecode too. Also fix broken button to compile OSL from the text editors, this got broken after recent change to disable editing of library linked nodes. --- intern/cycles/kernel/osl/osl_closures.cpp | 2 ++ intern/cycles/kernel/shaders/stdosl.h | 5 +---- source/blender/editors/space_node/node_edit.c | 7 ++----- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/intern/cycles/kernel/osl/osl_closures.cpp b/intern/cycles/kernel/osl/osl_closures.cpp index 8473f800d39..b1549e95920 100644 --- a/intern/cycles/kernel/osl/osl_closures.cpp +++ b/intern/cycles/kernel/osl/osl_closures.cpp @@ -198,6 +198,8 @@ void OSLShader::register_closures(OSLShadingSystem *ss_) bsdf_diffuse_toon_params(), bsdf_diffuse_toon_prepare); register_closure(ss, "glossy_toon", id++, bsdf_glossy_toon_params(), bsdf_glossy_toon_prepare); + register_closure(ss, "specular_toon", id++, + bsdf_glossy_toon_params(), bsdf_glossy_toon_prepare); register_closure(ss, "westin_backscatter", id++, bsdf_westin_backscatter_params(), bsdf_westin_backscatter_prepare); register_closure(ss, "westin_sheen", id++, diff --git a/intern/cycles/kernel/shaders/stdosl.h b/intern/cycles/kernel/shaders/stdosl.h index 09217e52b55..24c3e187783 100644 --- a/intern/cycles/kernel/shaders/stdosl.h +++ b/intern/cycles/kernel/shaders/stdosl.h @@ -467,10 +467,7 @@ closure color bssrdf_cubic(normal N, vector radius) BUILTIN; // Backwards compatibility -closure color specular_toon(normal N, float size, float smooth) -{ - return glossy_toon(N, size, smooth); -} +closure color specular_toon(normal N, float size, float smooth) BUILTIN; // Renderer state int raytype (string typename) BUILTIN; diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 8ee09101cdf..89fa58cd750 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -2315,9 +2315,6 @@ static int node_shader_script_update_poll(bContext *C) bNode *node; Text *text; - if (!ED_operator_node_editable(C)) - return 0; - /* test if we have a render engine that supports shaders scripts */ if (!(type && type->update_script_node)) return 0; @@ -2325,14 +2322,14 @@ static int node_shader_script_update_poll(bContext *C) /* see if we have a shader script node in context */ node = CTX_data_pointer_get_type(C, "node", &RNA_ShaderNodeScript).data; - if (!node) + if (!node && snode && snode->edittree) node = nodeGetActive(snode->edittree); if (node && node->type == SH_NODE_SCRIPT) { NodeShaderScript *nss = node->storage; if (node->id || nss->filepath[0]) { - return 1; + return ED_operator_node_editable(C); } }