Fix replacement, and do not add new instance in context twice

This commit is contained in:
Roy Nieterau 2024-04-11 13:23:00 +02:00
parent 56fd07a784
commit 6e812e0079

View file

@ -218,14 +218,15 @@ class AbstractCollectRender(pyblish.api.ContextPlugin):
data = self.add_additional_data(data)
render_instance_dict = attr.asdict(render_instance)
instance = pyblish.api.Instance(render_instance.name,
parent=context)
instance = context.create_instance(render_instance.name)
if render_instance.source_instance is not None:
replace_instance_in_context(context,
render_instance.source_instance,
instance)
else:
context.append(instance)
# remove the new instance, because we want to insert it
# at the position of the original instance
context.pop()
replace_instance_in_context(
context,
source_instance=render_instance.source_instance,
destination_instance=instance)
instance.data.update(render_instance_dict)
instance.data.update(data)