View Issue Details

IDProjectCategoryView StatusLast Update
0005513DarkRadiantGUIpublic29.01.2021 04:04
Reportergreebo Assigned To 
PrioritynormalSeveritynormalReproducibilitysometimes
Status confirmedResolutionopen 
Product Version2.11.0 
Target Version2.11.0 
Summary0005513: Change wxDataViewItem ID from TreeModel::Node* to something safer
DescriptionRelated to 0005508. There are situations where TreeModel nodes are destroyed and their memory is free'd while wxDataViewItems are still owned by various controls. There's no way to tell for any of these classes whether a wxDataViewItem pointer is valid or stale, we've had multiple crashes because of this.

Subclassing wxDataViewItem is possible but will not fix the problem, since it is held by value in several places. The suggested approach would be to change the meaning wxDataViewItem's contained ID member to hold a (numeric) handle instead of a raw TreeModel::Node* pointer.
TagsNo tags attached.

Relationships

related to 0005508 closedgreebo Crash in master when loading a map 
related to 0005498 closedgreebo Crash when selecting caulk in Texture Browser, saving, loading map 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
29.01.2021 03:54 greebo New Issue
29.01.2021 03:54 greebo Status new => confirmed
29.01.2021 03:54 greebo Relationship added related to 0005508
29.01.2021 03:55 greebo Relationship added related to 0005498
29.01.2021 04:04 greebo Summary Change wxDataViewItem ID from Node* to something safer => Change wxDataViewItem ID from TreeModel::Node* to something safer