Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-06-05 00:29:48 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-06-05 00:33:21 +0400
commitdc2daf7a6786110a77cebc5ad8ea7a118d156d61 (patch)
tree982bcb02159708ded6586f34445abb20d84e3b8b /intern
parent9b3efa912a24de57aa58f5dd62291c5654504d8c (diff)
Fix T40482: Cycles matlib file crashes
it's possible that runtime optimizer would call get_attribute with NULL renderstate. As per documentation, it's valid to return false in that cases and in worst case we'll just miss some possible optimization. Supporting such cases would require some bigger changes to Cycles since attributes are only set to up for the kernel after shader compilation. Thanks Brecht for review!
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/kernel/osl/osl_services.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp
index dba2b66faff..8fe48b9b38c 100644
--- a/intern/cycles/kernel/osl/osl_services.cpp
+++ b/intern/cycles/kernel/osl/osl_services.cpp
@@ -754,6 +754,9 @@ bool OSLRenderServices::get_background_attribute(KernelGlobals *kg, ShaderData *
bool OSLRenderServices::get_attribute(void *renderstate, bool derivatives, ustring object_name,
TypeDesc type, ustring name, void *val)
{
+ if (renderstate == NULL)
+ return false;
+
ShaderData *sd = (ShaderData *)renderstate;
KernelGlobals *kg = sd->osl_globals;
bool is_curve;