dfki-asr / compass

Collaborative Modular Prototyping And Simulation Server
Apache License 2.0
2 stars 0 forks source link

Duplicate Object; was "Final Object Deletion" #7

Closed gdemme closed 8 years ago

gdemme commented 9 years ago

Description: Deleting the only Scene Node, delete the scene node from the object list, but not from 3D view. Reloading the project fixes this. Sometimes it works properly…

Reconstruction: – Start with empty scene – Add an object – Delete the object: object stays visible in 3D

wherget commented 9 years ago

The behavoiur you see, especially it not occuring deterministically, suggests that the issue is due to our implementation of transactions when working with the database layer. It would be most helpful if you could provide a snippet of your container log from the time when this behaviour occured, which would allow us to narrow down the exact cause. Especially look for log entries from exceptions.

If you're lucky, then the bug you're seeing is one of those we're currently fixing.

gdemme commented 9 years ago

I tried reproducing the bug.

It seems, it is not a deletion bug. Do the following:

The duplicate does not appear in the object list, but it is selectable and cannot be deleted. Reloading the scene removes the duplicate object.

spidan commented 9 years ago

The problem actually originates from prefabs being SceneNodes, triggering the onSceneNodeCreated event when creating a prefab, which, in turn, causes the prefab to be converted to a group node in the xml3d tree. Fixing this bug is a little tricky, though, as there is currently no easy and reliable way to determine whether a scene node is used as prefab on the time of its creation.

wherget commented 9 years ago

Shouldn't the Prefab have null as a parent (seeing as it's not in the scene tree)? If that's indeed the case, the only other node where that condition applies, is the root scene node, which is known when such an event occurs. Sounds quite fixable to me, then.

wherget commented 8 years ago

This will land in 2.1.1, which I will start preparing now. Therefore, I'm closing this issue.