View Issue Details

IDProjectCategoryView StatusLast Update
0006166DarkRadiantGUIpublic13.01.2024 05:34
ReporterDragofer Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
Product Version3.6.0 
Target Version3.7.0Fixed in Version3.7.0 
Summary0006166: DR hangs if selecting a lot of entities with entity list open
DescriptionIf the entity list (J) is open and the mapper selects a lot of entities at once, i.e. by drag-selecting the whole map or pressing I with nothing selected, DR can hang for several minutes while all the entities in the list are being highlighted (I wrote this bug report while waiting for DR to unlock). Some mappers might believe DR has crashed if they don't know that it'll unfreeze eventually.
Steps To Reproduce1) Open a big map with thousands of map nodes.
2) Open the entity list with J.
3) Press I to invert selection. This selects everything in the map at once. DR freezes for a while.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: master 9b5eb96e

17.11.2022 04:51

greebo


Details Diff
0006166: Invoke EnsureVisible() in idle processing after an item has been selected Affected Issues
0006166
mod - radiant/ui/entitylist/EntityList.cpp Diff File
mod - radiant/ui/entitylist/EntityList.h Diff File

DarkRadiant: master d35f8c0f

17.11.2022 08:51

greebo


Details Diff
0006166: Overhaul the GraphTreeModel to ignore all scene::INodes but entities and the map root.

Selections are processed when the application is idle.
Affected Issues
0006166
mod - radiant/ui/entitylist/EntityList.cpp Diff File
mod - radiant/ui/entitylist/EntityList.h Diff File
mod - radiant/ui/entitylist/GraphTreeModel.cpp Diff File
mod - radiant/ui/entitylist/GraphTreeModel.h Diff File
mod - radiant/ui/entitylist/GraphTreeModelPopulator.h Diff File
mod - radiant/ui/entitylist/GraphTreeNode.h Diff File

DarkRadiant: master 6863899b

17.11.2022 09:06

greebo


Details Diff
0006166: Don't hold strong references that might out-live map transitions Affected Issues
0006166
mod - radiant/ui/entitylist/EntityList.cpp Diff File
mod - radiant/ui/entitylist/EntityList.h Diff File

DarkRadiant: master 8b38a4c8

17.11.2022 09:19

greebo


Details Diff
0006166: Fix behaviour when (un-)docking the EntityList Affected Issues
0006166
mod - radiant/ui/entitylist/EntityList.cpp Diff File
mod - radiant/ui/entitylist/EntityList.h Diff File
mod - radiant/ui/entitylist/GraphTreeModelPopulator.h Diff File

DarkRadiant: master 2a142071

18.11.2022 09:58

greebo


Details Diff
0006166: Fix crashes due to the _selection container getting out of date (due to idle processing of selections)

Remove the dangerous _selection container and replace it with a simpler approach.
Performance issue when click-selecting items in the entity list are rather unlikely.
Affected Issues
0006166
mod - radiant/ui/entitylist/EntityList.cpp Diff File
mod - radiant/ui/entitylist/EntityList.h Diff File

Issue History

Date Modified Username Field Change
16.11.2022 09:12 Dragofer New Issue
16.11.2022 09:14 Dragofer Description Updated
16.11.2022 18:25 greebo Status new => acknowledged
17.11.2022 04:29 greebo Status acknowledged => confirmed
17.11.2022 04:51 greebo Assigned To => greebo
17.11.2022 04:51 greebo Status confirmed => assigned
17.11.2022 04:52 greebo Target Version => 3.7.0
17.11.2022 09:13 greebo Changeset attached => DarkRadiant master 9b5eb96e
17.11.2022 09:13 greebo Changeset attached => DarkRadiant master d35f8c0f
17.11.2022 09:13 greebo Changeset attached => DarkRadiant master 6863899b
17.11.2022 09:20 greebo Changeset attached => DarkRadiant master 8b38a4c8
17.11.2022 09:25 greebo Status assigned => resolved
17.11.2022 09:25 greebo Resolution open => fixed
17.11.2022 09:25 greebo Fixed in Version => 3.7.0
18.11.2022 09:58 greebo Changeset attached => DarkRadiant master 2a142071
13.01.2024 05:34 greebo Status resolved => closed