View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005092||DarkRadiant||GUI||public||30.12.2019 10:25||09.01.2020 19:25|
|Target Version||2.7.0||Fixed in Version||2.7.0|
|Summary||0005092: Buttons to change spawnargs can affect entities that aren't currently selected|
|Description||There 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 Reproduce||For 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.
|Tags||No tags attached.|
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).
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:
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.
|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.|
|Fixed in 6362ff1f4|
DarkRadiant: master 6362ff1f
2020-01-05 05:40:02Details 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.
|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|
|30.12.2019 10:25||Dragofer||New Issue|
|30.12.2019 10:29||Dragofer||Description Updated||View Revisions|
|30.12.2019 10:29||Dragofer||Steps to Reproduce Updated||View Revisions|
|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|