View Issue Details

IDProjectCategoryView StatusLast Update
0005149DarkRadiantMap Editingpublic22.03.2020 15:48
ReporterAmadeus Assigned Togreebo  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.7.0 
Target Version2.7.1Fixed in Version2.7.1 
Summary0005149: Readable Editor Crash
DescriptionWhen using the readable editor in DR 2.7.0, whenever I would select the icon right of the "GUI definitions" message box, the program would hard crash straight to desktop. Every time. However, this function works perfectly fine in DR 2.6.0. No crashes.
Steps To ReproduceSelect any readable entity in a map
Open the readable editor
Select icon to the right of the "GUI definitions" message box
Crash
Additional InformationLet me know how else I can provide more info
TagsReadable Editor

Relationships

has duplicate 0005153 closedgreebo Darkradiant crashes when working on readables 

Activities

greebo

greebo

22.03.2020 14:22

administrator   ~0012294

Stacktrace; leading to the DataViewCtrl runs into a null model when calculating the best width (triggered by the event loop processing)

     wxmsw313ud_core_vc14x_x64.dll!wxDataViewMainWindow::IsList() Line 698 C++
     wxmsw313ud_core_vc14x_x64.dll!wxDataViewMaxWidthCalculator::wxDataViewMaxWidthCalculator(const wxDataViewCtrl * dvc, wxDataViewMainWindow * clientArea, wxDataViewRenderer * renderer, const wxDataViewModel * model, unsigned __int64 model_column, int expanderSize) Line 5571 C++
     wxmsw313ud_core_vc14x_x64.dll!wxDataViewCtrl::GetBestColumnWidth(int idx) Line 5621 C++
     wxmsw313ud_core_vc14x_x64.dll!wxDataViewColumn::GetWidth() Line 200 C++
     wxmsw313ud_core_vc14x_x64.dll!wxDataViewMainWindow::UpdateColumnSizes() Line 5102 C++
     wxmsw313ud_core_vc14x_x64.dll!wxDataViewCtrl::OnSize(wxSizeEvent & __formal) Line 5271 C++
     wxbase313ud_vc14x_x64.dll!wxAppConsoleBase::HandleEvent(wxEvtHandler * handler, void(wxEvtHandler::*)(wxEvent &) func, wxEvent & event) Line 658 C++
     wxbase313ud_vc14x_x64.dll!wxAppConsoleBase::CallEventHandler(wxEvtHandler * handler, wxEventFunctor & functor, wxEvent & event) Line 670 C++
     wxbase313ud_vc14x_x64.dll!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry, wxEvtHandler * handler, wxEvent & event) Line 1417 C++
     wxbase313ud_vc14x_x64.dll!wxEventHashTable::HandleEvent(wxEvent & event, wxEvtHandler * self) Line 1023 C++
     wxbase313ud_vc14x_x64.dll!wxEvtHandler::TryHereOnly(wxEvent & event) Line 1612 C++
     wxbase313ud_vc14x_x64.dll!wxEvtHandler::TryBeforeAndHere(wxEvent & event) Line 3912 C++
     wxbase313ud_vc14x_x64.dll!wxEvtHandler::ProcessEventLocally(wxEvent & event) Line 1545 C++
     wxbase313ud_vc14x_x64.dll!wxEvtHandler::ProcessEvent(wxEvent & event) Line 1518 C++
     wxmsw313ud_core_vc14x_x64.dll!wxScrollHelperEvtHandler::ProcessEvent(wxEvent & event) Line 200 C++
     wxbase313ud_vc14x_x64.dll!wxEvtHandler::SafelyProcessEvent(wxEvent & event) Line 1636 C++
...
     user32.dll!IsDialogMessageW() Unknown
     wxmsw313ud_core_vc14x_x64.dll!wxWindow::MSWSafeIsDialogMessage(tagMSG * msg) Line 2805 C++
     wxmsw313ud_core_vc14x_x64.dll!wxWindow::MSWProcessMessage(tagMSG * pMsg) Line 2689 C++
     wxmsw313ud_core_vc14x_x64.dll!wxGUIEventLoop::PreProcessMessage(tagMSG * msg) Line 145 C++
     wxmsw313ud_core_vc14x_x64.dll!wxGUIEventLoop::ProcessMessage(tagMSG * msg) Line 163 C++
     wxmsw313ud_core_vc14x_x64.dll!wxGUIEventLoop::Dispatch() Line 229 C++
     wxmsw313ud_core_vc14x_x64.dll!wxProgressDialog::Show(bool show) Line 977 C++
     wxmsw313ud_core_vc14x_x64.dll!wxProgressDialog::wxProgressDialog(const wxString & title, const wxString & message, int maximum, wxWindow * parent, int style) Line 414 C++
     dm.gui.dll!wxutil::ModalProgressDialog::ModalProgressDialog(const std::string & title, wxWindow * parent) Line 11 C++
     dm.gui.dll!ui::ReadablePopulator::ReadablePopulator(wxutil::VFSTreePopulator & popOne, wxutil::VFSTreePopulator & popTwo) Line 35 C++
     dm.gui.dll!ui::GuiSelector::fillTrees() Line 114 C++
greebo

greebo

22.03.2020 15:47

administrator   ~0012295

Fixed in 6ffd7e3c

Related Changesets

DarkRadiant: master 6ffd7e3c

2020-03-22 15:46:19

greebo

Details Diff
Fix 0005149: Crash when opening the GUI definition selector window.
Caused by the treeview processing the resize event and attempting to calculate the optimum column width, but failing due to the absence of a tree model.
Affected Issues
0005149
mod - plugins/dm.gui/GuiSelector.cpp Diff File

Issue History

Date Modified Username Field Change
10.02.2020 03:52 Amadeus New Issue
10.02.2020 03:52 Amadeus Tag Attached: Readable Editor
10.02.2020 06:59 greebo Status new => acknowledged
12.02.2020 15:26 Dragofer Relationship added related to 0005153
22.03.2020 14:20 greebo Status acknowledged => confirmed
22.03.2020 14:22 greebo Note Added: 0012294
22.03.2020 15:46 greebo Assigned To => greebo
22.03.2020 15:46 greebo Status confirmed => assigned
22.03.2020 15:46 greebo Target Version => 2.7.1
22.03.2020 15:46 greebo Changeset attached => DarkRadiant master 6ffd7e3c
22.03.2020 15:46 greebo Resolution open => fixed
22.03.2020 15:47 greebo Status assigned => resolved
22.03.2020 15:47 greebo Fixed in Version => 2.7.1
22.03.2020 15:47 greebo Note Added: 0012295
22.03.2020 15:48 greebo Relationship replaced has duplicate 0005153