View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004001 | DarkRadiant | Design/Coding | public | 01.01.2015 03:20 | 07.07.2015 09:26 |
| Reporter | greebo | Assigned To | greebo | ||
| Priority | normal | Severity | normal | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Product Version | 2.0.1 | ||||
| Target Version | 2.0.2 | Fixed in Version | 2.0.2 | ||
| Summary | 0004001: scene::Node destruction issues, PatchNode destructor never invoked | ||||
| Description | Maybe 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. | ||||
| Tags | No tags attached. | ||||
| 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 |