@@ -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