Change: Make volume slider widget capture mouse when clicked.

This makes the slider continue to respond even when mouse cursor
is no longer over the widget.
This commit is contained in:
Peter Nelson 2019-02-14 06:26:29 +00:00 committed by Charles Pigott
parent de9f54ccc1
commit 6dfe36b5cd
1 changed files with 2 additions and 2 deletions

View File

@ -799,7 +799,7 @@ struct MusicWindow : public Window {
byte *vol = (widget == WID_M_MUSIC_VOL) ? &_settings_client.music.music_vol : &_settings_client.music.effect_vol;
byte new_vol = x * 127 / this->GetWidget<NWidgetBase>(widget)->current_x;
byte new_vol = Clamp(x * 127 / (int)this->GetWidget<NWidgetBase>(widget)->current_x, 0, 127);
if (_current_text_dir == TD_RTL) new_vol = 127 - new_vol;
/* Clamp to make sure min and max are properly settable */
if (new_vol > 124) new_vol = 127;
@ -810,7 +810,7 @@ struct MusicWindow : public Window {
this->SetDirty();
}
_left_button_clicked = false;
if (click_count > 0) this->mouse_capture_widget = widget;
break;
}