View Issue Details

IDProjectCategoryView StatusLast Update
0006187DarkRadiantGUIpublic13.01.2024 05:34
Reporterorbweaver Assigned Toorbweaver  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
PlatformLinuxOSUbuntuOS Version22.04
Product Version3.7.0 
Target Version3.8.0Fixed in Version3.8.0 
Summary0006187: Prefab Selector spams infinite error dialogs on Linux
DescriptionAfter choosing the Insert Prefab command on Linux, an error dialog is shown on top of the prefab selector window containing:

"Wrong type, required: null but: string"

Dismissing the dialog just triggers another one, making the prefab selector unusable.
Steps To Reproduce1. Right-click on the 2D view and choose Insert Prefab
Additional InformationInspection of the wxWidgets source code indicates that this error originates from the src/gtk/dataview.cpp file, and relates to a data model providing a cell value in an unexpected type.
TagsNo tags attached.
Attached Files
darkradiant_error.png (54,182 bytes)   
darkradiant_error.png (54,182 bytes)   

Activities

orbweaver

orbweaver

13.12.2022 21:26

developer   ~0015558

Fixed in f62241a3160adf40b1450896e55ac9c369e5a941.

Related Changesets

DarkRadiant: master 19f9c1ea

07.12.2022 20:36

orbweaver


Details Diff
0006187: use inline default initialisation for PrefabSelector members Affected Issues
0006187
mod - radiant/ui/prefabselector/PrefabSelector.cpp Diff File
mod - radiant/ui/prefabselector/PrefabSelector.h Diff File

DarkRadiant: master 465e0c54

07.12.2022 20:40

orbweaver


Details Diff
0006187: direct wxWidgets log messages to stderr on Linux

The default behaviour of popping up a series of modal dialog boxes is
possibly the most unhelpful way of showing errors imaginable. On Linux
we now use wxLogStderr to direct these log messages to stderr.

On Windows the behaviour is left as-is because stderr isn't usually
accessible; the ideal solution might be to direct the log messages to
the in-application Console window but this would require a custom wxLog
implementation.
Affected Issues
0006187
mod - radiant/RadiantApp.cpp Diff File

DarkRadiant: master 72ec80fa

13.12.2022 21:12

orbweaver


Details Diff
0006187: fix "Wrong type" error dialogs in Prefab Chooser on Linux

The GTK treeview cell renderers do not support tree model cells
returning no data (or data of the wrong type), and show this "Wrong
type" dialog as a consequence. This was a problem in the Prefab Chooser
because certain rows do not contain the full range of data (e.g. the
root node and folder nodes do not have a "size" value).

(Note that there was never any problem with entire columns not being
displayed, or with hidden columns missing data. But if a column is
displayed and has a cell renderer attached, that cell renderer expects
to receive valid data for every row).

The implementation of TreeModel::GetValue() is now updated to return a
default wxVariant in the case of model nodes which do not contain an
explicit value for the requested column. For string and numeric column
types (which are all rendered as string data), this is just an empty
wxString(), so there is no visible change in the GUI.
Affected Issues
0006187
mod - libs/wxutil/dataview/TreeModel.cpp Diff File

DarkRadiant: master f62241a3

13.12.2022 21:22

orbweaver


Details Diff
0006187: de-overloaded TreeModel::AddItem() Affected Issues
0006187
mod - libs/wxutil/dataview/ThreadedDeclarationTreePopulator.h Diff File
mod - libs/wxutil/dataview/TreeModel.cpp Diff File
mod - libs/wxutil/dataview/TreeModel.h Diff File
mod - libs/wxutil/dataview/VFSTreePopulator.cpp Diff File
mod - plugins/dm.difficulty/DifficultySettings.cpp Diff File
mod - radiant/ui/einspector/AddPropertyDialog.cpp Diff File
mod - radiant/ui/entitylist/GraphTreeModel.cpp Diff File
mod - radiant/ui/layers/LayerControlPanel.cpp Diff File
mod - radiant/ui/materials/MaterialPopulator.cpp Diff File
mod - radiant/ui/modelselector/ModelDataInserter.h Diff File

DarkRadiant: master 28418c41

14.12.2022 20:04

orbweaver


Details Diff
0006187: fix missing folder icons in Prefab Chooser

Code was looking for a file called "folder.png" which doesn't exist (we
only have a "folder16.png").
Affected Issues
0006187
mod - libs/wxutil/fsview/Populator.cpp Diff File

DarkRadiant: master a9a107ad

14.12.2022 20:32

orbweaver


Details Diff
0006187: simplify and increase contrast of prefab "house" icon Affected Issues
0006187
mod - install/bitmaps/cmenu_add_prefab.png Diff File

DarkRadiant: master f3f3f9d3

20.12.2022 20:49

orbweaver


Details Diff
0006187: convert numbers to strings in TreeModel::SetValue()

Previously this code was in ItemValueProxy::operator[], which performed
the conversion (if required) then called SetValue(). Moving the code
into SetValue() itself is safer in case code calls SetValue() directly
without going through an ItemValueProxy.
Affected Issues
0006187
mod - libs/wxutil/dataview/TreeModel.cpp Diff File
mod - libs/wxutil/dataview/TreeModel.h Diff File

Issue History

Date Modified Username Field Change
06.12.2022 20:43 orbweaver New Issue
06.12.2022 20:43 orbweaver Status new => assigned
06.12.2022 20:43 orbweaver Assigned To => orbweaver
06.12.2022 20:43 orbweaver File Added: darkradiant_error.png
13.12.2022 21:26 orbweaver Status assigned => resolved
13.12.2022 21:26 orbweaver Resolution open => fixed
13.12.2022 21:26 orbweaver Fixed in Version => 3.8.0
13.12.2022 21:26 orbweaver Note Added: 0015558
26.12.2022 09:26 orbweaver Changeset attached => DarkRadiant master 19f9c1ea
26.12.2022 09:26 orbweaver Changeset attached => DarkRadiant master 465e0c54
26.12.2022 09:26 orbweaver Changeset attached => DarkRadiant master 72ec80fa
26.12.2022 09:26 orbweaver Changeset attached => DarkRadiant master f62241a3
26.12.2022 09:26 orbweaver Changeset attached => DarkRadiant master 28418c41
26.12.2022 09:26 orbweaver Changeset attached => DarkRadiant master a9a107ad
26.12.2022 09:26 orbweaver Changeset attached => DarkRadiant master f3f3f9d3
13.01.2024 05:34 greebo Status resolved => closed