Skip to content

Commit 50a9b1a

Browse files
authored
Merge pull request #341 from Hoikas/fix_331
Fix #331.
2 parents 81d8918 + bed083e commit 50a9b1a

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

korman/operators/op_modifier.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,19 +94,25 @@ def _paste_modifier(self, src_object, dst_object, pl_mod_id):
9494

9595
def _paste_property(self, src, dst, prop):
9696
prop_name = prop.identifier
97+
if prop_name in {"rna_type"}:
98+
return
9799

98100
# Old properties? Discard their asses.
99101
if not hasattr(dst, prop_name):
100102
return
101103

102-
# Collection properties must be manually copied...
104+
# Collection and pointer properties must be manually copied...
103105
if prop.type == "COLLECTION":
104106
dst_prop, src_prop = getattr(dst, prop_name), getattr(src, prop_name)
105107
dst_prop.clear()
106108
for src_item in src_prop:
107109
dst_item = dst_prop.add()
108110
for item_prop in src_item.rna_type.properties:
109111
self._paste_property(src_item, dst_item, item_prop)
112+
elif prop.type == "POINTER" and prop.fixed_type.base.name != "ID":
113+
dst_prop, src_prop = getattr(dst, prop_name), getattr(src, prop_name)
114+
for subprop_name in src_prop.rna_type.properties:
115+
self._paste_property(src_prop, dst_prop, subprop_name)
110116
else:
111117
try:
112118
if src.is_property_set(prop_name):

0 commit comments

Comments
 (0)