diff options
author | Martin Poirier <theeth@yahoo.com> | 2010-01-27 23:12:54 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2010-01-27 23:12:54 +0300 |
commit | 1809e04cb4197aef0016b2d1d587c89ac11baa95 (patch) | |
tree | be7ef1afcccff1f58f37c490907bdd791343d656 /source/blender/blenkernel/intern/context.c | |
parent | 74b2d3681e0f7302b699d3f0144019a82b7b5c85 (diff) |
ctx_data_pointer_verify is a verified NULL value if C is NULL.
prevents ctx_data_main and ctx_data_scene from crashing on NULL context
Diffstat (limited to 'source/blender/blenkernel/intern/context.c')
-rw-r--r-- | source/blender/blenkernel/intern/context.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index c715ce5cf53..de13ca94d1a 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -486,7 +486,12 @@ static int ctx_data_pointer_verify(const bContext *C, const char *member, void * { bContextDataResult result; - if(ctx_data_get((bContext*)C, member, &result)==1) { + /* if context is NULL, pointer must be NULL too and that is a valid return */ + if (C == NULL) { + *pointer= NULL; + return 1; + } + else if(ctx_data_get((bContext*)C, member, &result)==1) { *pointer= result.ptr.data; return 1; } |