@@ -62,10 +62,10 @@ public ProfilePanel(CanvasComponent parent, DressCodeControl parentControl) : ba
6262 _toggleGroup [ e . Value ] . EditIsEnabled = e . IsSelected ;
6363 if ( e . IsSelected ) {
6464 _selectedProfile = e . Value ;
65- UpdateThumbnail ( ) ;
6665 if ( ! _noEventTrigger ) {
6766 OnProfileSelected ( new ( ) { Profile = e . Value } ) ;
6867 }
68+ UpdateThumbnail ( ) ;
6969 }
7070 } ;
7171
@@ -131,10 +131,17 @@ public void SelectProfile(CostumeProfile profile) {
131131 }
132132
133133 private void UpdateThumbnail ( ) {
134- _thumbnailPanel . ThumbnailImage = _selectedProfile switch {
135- CostumeProfile . Default => ( _parentControl . SelectedScope == ProfileScope . Maid ? _parentControl . SelectedMaid : DressCode . GetHeadMaid ( ) ) . GetThumCard ( ) ,
136- CostumeProfile . Scene => DressCode . GetThumbnail ( _parentControl . SelectedScene , null ) ,
137- CostumeProfile . Personal => DressCode . GetThumbnail ( _parentControl . SelectedScene , _parentControl . SelectedMaid ) ,
134+ var selectedMaid = _parentControl . SelectedMaid ;
135+ var selectedScene = _parentControl . SelectedScene ;
136+ var effectiveProfile = _selectedProfile ;
137+ // fall back to default thumbnail if selected profile has no costume defined
138+ if ( effectiveProfile != CostumeProfile . Default && ! DressCode . HasEffectiveCostume ( selectedMaid , selectedScene ) ) {
139+ effectiveProfile = CostumeProfile . Default ;
140+ }
141+ _thumbnailPanel . ThumbnailImage = effectiveProfile switch {
142+ CostumeProfile . Default => ( _parentControl . SelectedScope == ProfileScope . Maid ? selectedMaid : DressCode . GetHeadMaid ( ) ) . GetThumCard ( ) ,
143+ CostumeProfile . Scene => DressCode . GetThumbnail ( selectedScene , null ) ,
144+ CostumeProfile . Personal => DressCode . GetThumbnail ( selectedScene , selectedMaid ) ,
138145 _ => throw new NotImplementedException ( ) ,
139146 } ;
140147 }
0 commit comments