View Issue Details

IDProjectCategoryView StatusLast Update
0005092DarkRadiantGUIpublic09.08.2021 15:06
ReporterDragofer Assigned Togreebo  
Status closedResolutionfixed 
OSWindowsOS Version10 
Product Version2.6.0 
Target Version2.7.0Fixed in Version2.7.0 
Summary0005092: Buttons to change spawnargs can affect entities that aren't currently selected
DescriptionThere are buttons for easily making changes to numerous spawnargs in the entity inspector. Examples are 'Choose skin...' and 'Choose model...'

However, these buttons only affect the entity for which they were first brought up.
If I click on the 'skin' spawnarg of one bed, then select a different bed and click on 'Choose skin...', the skin will be applied to the first bed even though the second bed is selected.

These buttons are very useful, but at present require one to be mindful of this behaviour when using them.
Steps To ReproduceFor skins:
1) Create a bed with a skin applied and clone it.
2) Select one bed and click on the 'Skin' spawnarg (the 'Choose skin...' button is now visible)
3) Select the other bed and now click on 'Choose skin...' to apply a different skin. The skin will be applied to the formerly selected bed.

Similar procedures exist for sound, particles, light colours, models and so on.
TagsNo tags attached.


related to 0005700 confirmed Entity inspector spawnarg fields not always updated by UI windows such as Model Chooser 




31.12.2019 04:52

administrator   ~0011993

Couldn't repro this at the first attempt in DR 2.6.0.
My working copy of 2.7.0 is crashing out when opening the skin browser due to an invalid GL context. I'll have to fix the other problem first before I can try again to repro that.

The bug sounds serious though, are you absolutely sure that this is consistently affecting un-selected entities? Is this also happening when starting from an empty map? I was creating a fresh map, and created just a model (builder bed with the first "coarse" skin), and I couldn't spot this behaviour (in 2.6.0, that is).


31.12.2019 14:04

developer   ~0012002

Yes, it happens every time on v2.5, v2.6 and v2.7pre2 (don't have earlier versions than 2.5), for every spawnarg that has a button down there. I've made a very brief video in a new map to show the procedure:


01.01.2020 05:01

administrator   ~0012004

Ah, thanks for the video, I see now that you have to change selections without touching the spawnargs list (I was doing that for the newly selected entity). Also, you have to switch the selection directly from the one bed to the other without either deselecting or having both selected in between.

My repro steps are now:
- Create a fresh map
- Create a bed model with a skin applied
- Clone the bed
- Clear selection and select the first bed
- Select the "skin" spawnarg to bring up the "Choose Skin" button
- Without touching anything else, Alt-Shift-Right-Click the second bed to switch the selection
- Notice that the "Choose Skin" button is still shown even though nothing in the spawnarg list is highlighted
- Click on that "Choose Skin" button and select a different one
- After clicking OK the skin is applied to the first bed, not the currently selected one

Nice find, Dragofer, and thanks again for the video.


01.01.2020 22:43

developer   ~0012006

No problem at all and thanks for looking into it. I'll just say, after the way you worded some parts: I think it'd be good if the button persisted when switching selection to a different entity, even though nothing's highlighted in the list. It'd be a convenient way to apply specific spawnargs to a string of entities.


05.01.2020 04:40

administrator   ~0012067

Fixed in 6362ff1f4

Related Changesets

DarkRadiant: master 6362ff1f

2020-01-05 05:40:02


Details Diff
Fix 0005092: Changing entity selection with Alt-Shift (replace selection) causes entity property editors to target the old (wrong) entity.
Add setEntity() method to property editors to update their targets while keeping them in memory.
Affected Issues
mod - include/ientityinspector.h Diff File
mod - plugins/dm.editing/AIHeadPropertyEditor.cpp Diff File
mod - plugins/dm.editing/AIHeadPropertyEditor.h Diff File
mod - plugins/dm.editing/AIVocalSetPropertyEditor.cpp Diff File
mod - plugins/dm.editing/AIVocalSetPropertyEditor.h Diff File
mod - radiant/ui/einspector/EntityInspector.cpp Diff File
mod - radiant/ui/einspector/PropertyEditor.cpp Diff File
mod - radiant/ui/einspector/PropertyEditor.h Diff File

Issue History

Date Modified Username Field Change
30.12.2019 10:25 Dragofer New Issue
30.12.2019 10:29 Dragofer Description Updated
30.12.2019 10:29 Dragofer Steps to Reproduce Updated
30.12.2019 10:30 Dragofer Product Version => 2.6.0
31.12.2019 04:52 greebo Assigned To => greebo
31.12.2019 04:52 greebo Status new => acknowledged
31.12.2019 04:52 greebo Note Added: 0011993
31.12.2019 14:04 Dragofer Note Added: 0012002
01.01.2020 05:01 greebo Note Added: 0012004
01.01.2020 05:01 greebo Assigned To greebo =>
01.01.2020 05:01 greebo Status acknowledged => confirmed
01.01.2020 22:43 Dragofer Note Added: 0012006
05.01.2020 04:38 greebo Assigned To => greebo
05.01.2020 04:38 greebo Status confirmed => assigned
05.01.2020 04:38 greebo Target Version => 2.7.0
05.01.2020 04:40 greebo Status assigned => resolved
05.01.2020 04:40 greebo Resolution open => fixed
05.01.2020 04:40 greebo Fixed in Version => 2.7.0
05.01.2020 04:40 greebo Note Added: 0012067
09.01.2020 19:25 greebo Changeset attached => DarkRadiant master 6362ff1f
08.11.2020 18:36 greebo Status resolved => closed
09.08.2021 15:06 Dragofer Relationship added related to 0005700