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:
authorJacques Lucke <jacques@blender.org>2021-03-05 15:36:51 +0300
committerJacques Lucke <jacques@blender.org>2021-03-05 15:36:51 +0300
commit8ff310861c5776b770020068e5a85d0a5aa1b7e4 (patch)
tree9a1a15811ae8a3edbe8d29c2dcf8e33023288493 /source/blender/editors
parent46194c68cf89c64e35dcdb2a4d436105fc3d8e93 (diff)
cleanup
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/space_spreadsheet/spreadsheet_from_python.cc32
1 files changed, 18 insertions, 14 deletions
diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_from_python.cc b/source/blender/editors/space_spreadsheet/spreadsheet_from_python.cc
index 01703bbaacb..2de9e9e3d34 100644
--- a/source/blender/editors/space_spreadsheet/spreadsheet_from_python.cc
+++ b/source/blender/editors/space_spreadsheet/spreadsheet_from_python.cc
@@ -138,21 +138,25 @@ class PythonSpreadsheetDrawer : public SpreadsheetDrawer {
}
if (PyTuple_Check(py_cell_content)) {
PyObject *py_rna_ptr = PyTuple_GetItem(py_cell_content, 0);
- PyObject *py_name = PyTuple_GetItem(py_cell_content, 1);
- const char *prop_name = PyUnicode_AsUTF8(py_name);
+ PyObject *py_prop_path = PyTuple_GetItem(py_cell_content, 1);
+ const char *prop_path = PyUnicode_AsUTF8(py_prop_path);
BPy_StructRNA *py_struct_rna = (BPy_StructRNA *)py_rna_ptr;
- PointerRNA ptr = py_struct_rna->ptr;
- PropertyRNA *prop = RNA_struct_find_property(&ptr, prop_name);
- uiDefAutoButR(params.block,
- &ptr,
- prop,
- -1,
- "",
- ICON_NONE,
- params.xmin,
- params.ymin,
- params.width,
- params.height);
+ PointerRNA ptr;
+ PropertyRNA *prop = nullptr;
+ int index;
+ RNA_path_resolve_full(&py_struct_rna->ptr, prop_path, &ptr, &prop, &index);
+ if (prop != nullptr) {
+ uiDefAutoButR(params.block,
+ &ptr,
+ prop,
+ index,
+ "",
+ ICON_NONE,
+ params.xmin,
+ params.ymin,
+ params.width,
+ params.height);
+ }
}
}
};