ChangeQueue: why copy gives addedOrChanged size of 2?

Hi,
trying to understand the basic concepts of ChangeQueue I realized that if you have one instance already created and then copy it once, the ON_SimpleArray<const MeshInstance*>& addedOrChanged has size of 2.
The first rdkInstanceID is the already existing one and the second is the new/copied one.
Is this correct? Shouldn’t it be size 1, just the copied instance?
Thanks!

any suggestion on this?

@andy, @nathanletwory - is this something you can help with?

I will log a bug and look into this.

https://mcneel.myjetbrains.com/youtrack/issue/RH-81660/ChangeQueue-why-copy-gives-addedOrChanged-size-of-2

@fatecasino Could you give me exact steps for what you are doing?

OK - I think I see what you are doing. The deleted list has a single entry, so it looks like you get the right results…but it seems like it could be optimized.

BTW - I thought you might like this comment in the code when I wrote it about 2 years ago:

void CDocumentLogic::AddTopLevelObjectEntry(const CRhinoObject& obj)
{
//I’m not sure this is a good idea…
DeleteTopLevelObjectEntry(obj.ModelObjectId());

Fixed in 8.8

Thanks <3