Developer Meetings/20120508
From Slicer Wiki
Home < Developer Meetings < 20120508
Attendees:
- To discuss:
Problem with the editor
Hi Alex, I've been working on the issue, and I'll commit a fix soon. While investigating what was going wrong, I ended up doing some interesting discoveries: - vtkMRMLDisplayableNode behavior was inconsistent. I fixed it in a series of commits this past week. - vtkMRMLSceneViewNode::RestoreScene() is doing something dangerous. I added a unit test to reveal the problem:http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=20030. This mostly results in "random" crashes when restoring multiple scenes. I created a Mantis issue: http://www.na-mic.org/Bug/view.php?id=1993. To summarize, the problem is that RestoreScene (https://github.com/Slicer/Slicer/blob/master/Libs/MRML/Core/vtkMRMLSceneViewNode.cxx#L472), is adding its internal nodes into the scene, if the node is modified, then restoring the scene again will restore the modified version instead of the original version. I believe a fix would be to create a copy of the node and add the copy into the scene instead of the node itself. As it is a sensitive change, lots of tests must be done. Alex: do you have time to look at it ? All: I added a test into slicer that will be failing until the issue is fixed. I wonder if it's the correct process we want to follow. Thanks, Julien.
Hi Ron & Alex, r20033 fixes the original issue: restoring the sceneview CST-R from 2012-04-27-aDemo-PeritumoralTractParcellation doesn't crash anymore. However, r20034 identifies more issues with the scene views. I created a Mantis issue: http://www.na-mic.org/Bug/view.php?id=1995 in addition to the one I created earlier http://www.na-mic.org/Bug/view.php?id=1993. All: As a personal side note, the current Node/NodeID/ReferenceID/UpdateScene/... MRML mechanism is extremely complex. It is humanly very challenging to have a clear understanding of the whole system (this explains the unlimited source of bugs in MRML :-) ). We should seriously rethink the MRML scenes and observations to have a unique way to "link" nodes together. I guess it's another topic for the summer project week :-)