View Issue Details

IDProjectCategoryView StatusLast Update
0004001DarkRadiantDesign/Codingpublic07.07.2015 09:26
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status closedResolutionfixed 
Product Version2.0.1 
Target Version2.0.2Fixed in Version2.0.2 
Summary0004001: scene::Node destruction issues, PatchNode destructor never invoked
DescriptionMaybe due to the default scene::Node dtor being non-virtual the ~PatchNode() dtor almost never fires, except for the case when a patch is actually deleted and ends up in the UndoStack. In the latter case the virtual ~INode() dtor makes sure the hierarchy is properly destructed.

There are also circular dependencies of shared_ptrs in the scene, with child nodes holding strong references to their parent (IRenderEntityPtr).
Steps To Reproduce- Attach debugger and set breakpoint to ~PatchNode()
- Open a map containing patches or create one from scratch
- Hit File > New map and discard the currently loaded one
- Notice that the breakpoint never gets hit

Deleting a Patch from the loaded map and selecting New map will fire the destructor.
TagsNo tags attached.


related to 0002881 closedgreebo Texture pane isn't initialized when a new map is started 




01.01.2015 08:03

administrator   ~0007290

Resolved, needs proper testing.

Issue History

Date Modified Username Field Change
01.01.2015 03:20 greebo New Issue
01.01.2015 03:20 greebo Target Version => 2.0.2
01.01.2015 03:20 greebo Assigned To => greebo
01.01.2015 03:20 greebo Status new => assigned
01.01.2015 03:21 greebo Relationship added related to 0002881
01.01.2015 07:32 greebo Summary scene::Node destructor non-virtual, PatchNode dtor almost never invoked => scene::Node destruction issues, PatchNode destructor never invoked
01.01.2015 07:32 greebo Description Updated
01.01.2015 08:03 greebo Note Added: 0007290
01.01.2015 08:03 greebo Status assigned => resolved
01.01.2015 08:03 greebo Fixed in Version => 2.0.2
01.01.2015 08:03 greebo Resolution open => fixed
07.07.2015 09:26 greebo Status resolved => closed