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
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-08-30 13:18:21 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-08-30 13:18:21 +0400
commit92f6dd73b339d99d2c47afe46b1ca1b817626bf7 (patch)
treef1f88faa02f162c4bfca45b180e7fbd6345f1ab8 /source/blender/python
parente5b1e646e6afcd89999cb36cb0892e068324a6c2 (diff)
fix for resolving rna paths, RNA_path_resolve could return a property which was the parent of the pointer (when it would normally be assumed to be the child).
also change pythons struct_rna.path_resolve to return StructRNA's or Properties when the property isnt NULL.
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/intern/bpy_rna.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 6cc191757ed..cc7f9c0007c 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -2306,11 +2306,16 @@ static PyObject *pyrna_struct_path_resolve(BPy_StructRNA *self, PyObject *args)
return NULL;
if (RNA_path_resolve(&self->ptr, path, &r_ptr, &r_prop)) {
- if(coerce == Py_False) {
- return pyrna_prop_CreatePyObject(&r_ptr, r_prop);
+ if(r_prop) {
+ if(coerce == Py_False) {
+ return pyrna_prop_CreatePyObject(&r_ptr, r_prop);
+ }
+ else {
+ return pyrna_prop_to_py(&r_ptr, r_prop);
+ }
}
else {
- return pyrna_prop_to_py(&r_ptr, r_prop);
+ return pyrna_struct_CreatePyObject(&r_ptr);
}
}
else {