diff options
Diffstat (limited to 'release/scripts/startup/bl_operators/node.py')
-rw-r--r-- | release/scripts/startup/bl_operators/node.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_operators/node.py b/release/scripts/startup/bl_operators/node.py index 9fdaebc7540..1c5ebb4fa17 100644 --- a/release/scripts/startup/bl_operators/node.py +++ b/release/scripts/startup/bl_operators/node.py @@ -94,9 +94,16 @@ class NodeAddOperator: for setting in self.settings: # XXX catch exceptions here? value = eval(setting.value) + node_data = node + node_attr_name = setting.name + + # Support path to nested data. + if '.' in node_attr_name: + node_data_path, node_attr_name = node_attr_name.rsplit(".", 1) + node_data = node.path_resolve(node_data_path) try: - setattr(node, setting.name, value) + setattr(node_data, node_attr_name, value) except AttributeError as e: self.report( {'ERROR_INVALID_INPUT'}, |