View Issue Details

IDProjectCategoryView StatusLast Update
0005402DarkRadiantGUIpublic14.11.2020 13:52
ReporterMirceaKitsune Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilitysometimes
Status resolvedResolutionfixed 
Platformx64OSLinux openSUSEOS VersionRelease
Product Version2.8.0 
Target Version2.9.0Fixed in Version2.9.0 
Summary0005402: Model browser renders 3D previews for past models, overlaps current selection
DescriptionI've gotten this annoyance with DR since I started using it but never got around to reporting it. The model browser (potentially affects the entity and prefab browsers too) will occasionally draw a previous model you've selected on top of the current selection, causing both to display in the 3D preview and overlap. When this happens I either need to deal with the glitch or restart DarkRadiant to get rid of it till it occurs again.

Though I couldn't pinpoint the exact cause beyond doubt, what seems to trigger this appears to be using undo: If you add a model, undo with Control + Z, then try adding another model, you get the previously added model also being rendered in the window.
Steps To ReproduceRight-click in a 2D viewport and choose "Create model...". Play around with creating multiple models, duplicating, undoing / redoing your actions, etc. At some point when you open the Choose Model window again, you'll see additional models render on top of your currently selected preview.
Additional InformationRepro steps I found:

- Start DR
- Create Model > darmod/nautical/anchor.lwo
- Deselect
- Create Model > darkmod/nautical/boat.lwo
- Undo
- Create Model > both anchor and boat are rendered on top of each other
TagsBug, Glitch

Relationships

has duplicate 0005385 resolvedgreebo Phantom Model Left Over in Model Selector Window 
related to 0005408 confirmed All scene graphs connect to the same undo system, causing interference 

Activities

MirceaKitsune

MirceaKitsune

13.11.2020 18:46

reporter  

Screenshot_20201113_173857.png (142,506 bytes)   
Screenshot_20201113_173857.png (142,506 bytes)   
MirceaKitsune

MirceaKitsune

13.11.2020 23:36

reporter   ~0012918

Confirming the entity browser can do it too.
Screenshot_20201114_013515.png (128,630 bytes)   
Screenshot_20201114_013515.png (128,630 bytes)   
greebo

greebo

14.11.2020 07:57

administrator   ~0012921

Apparently the scenegraph used by the ModelPreview is connected to the same global UndoSystem as the rest of the map, causing the interference.
The TraversableNodeSet::connectUndoSystem() method is accessing GlobalUndoSystem() - which needs to change.

The fix requires similar refactoring as in moving the LayerManager instance to the map's root node, to separate it from other scenes. This is more work, so I'm not going to fix this for the upcoming 2.9.0.
But maybe a quick fix can be done to purge existing models from the ModelPreview scene before doing anything.
MirceaKitsune

MirceaKitsune

14.11.2020 13:18

reporter   ~0012926

That quick fix sounds like a good idea too if possible in a healthy way. While this one doesn't cause crashes or prevent using any features, it is annoying when a large model remains forgotten in the preview and you're currently looking at smaller models, as you won't be able to preview them and easily see exactly what you're selecting, due to the larger ghost model covering the mesh of what you're currently previewing.

Related Changesets

DarkRadiant: 2.9.0 161deef7

2020-11-14 13:51:55

greebo

Details Diff
0005402: Workaround to remove all remnants that are possibly added to the ModelPreview's entity by undo/redo operations in the map scene. Affected Issues
0005402
mod - libs/wxutil/preview/ModelPreview.cpp Diff File

Issue History

Date Modified Username Field Change
13.11.2020 18:46 MirceaKitsune New Issue
13.11.2020 18:46 MirceaKitsune Tag Attached: Bug
13.11.2020 18:46 MirceaKitsune Tag Attached: Glitch
13.11.2020 18:46 MirceaKitsune File Added: Screenshot_20201113_173857.png
13.11.2020 19:17 greebo Relationship added related to 0005385
13.11.2020 23:36 MirceaKitsune Note Added: 0012918
13.11.2020 23:36 MirceaKitsune File Added: Screenshot_20201114_013515.png
14.11.2020 05:59 greebo Status new => confirmed
14.11.2020 06:02 greebo Additional Information Updated View Revisions
14.11.2020 06:03 greebo Relationship replaced has duplicate 0005385
14.11.2020 07:57 greebo Note Added: 0012921
14.11.2020 08:00 greebo Relationship added related to 0005408
14.11.2020 13:18 MirceaKitsune Note Added: 0012926
14.11.2020 13:52 greebo Changeset attached => DarkRadiant 2.9.0 161deef7
14.11.2020 13:52 greebo Assigned To => greebo
14.11.2020 13:52 greebo Status confirmed => assigned
14.11.2020 13:52 greebo Status assigned => resolved
14.11.2020 13:52 greebo Resolution open => fixed
14.11.2020 13:52 greebo Fixed in Version => 2.9.0
14.11.2020 13:52 greebo Target Version => 2.9.0