mirror of https://github.com/ppy/osu
Use whitelist to avoid exposing settings to user that shouldn't be
This commit is contained in:
parent
03230edcb1
commit
3458dcc33a
|
@ -5,6 +5,8 @@
|
|||
using osu.Framework.Graphics;
|
||||
using osu.Framework.Graphics.Sprites;
|
||||
using osu.Framework.Input.Handlers;
|
||||
using osu.Framework.Input.Handlers.Joystick;
|
||||
using osu.Framework.Input.Handlers.Midi;
|
||||
using osu.Framework.Input.Handlers.Mouse;
|
||||
using osu.Framework.Platform;
|
||||
using osu.Game.Configuration;
|
||||
|
@ -50,11 +52,6 @@ private void load()
|
|||
|
||||
private SettingsSubsection createSectionFor(InputHandler handler)
|
||||
{
|
||||
var settingsControls = handler.CreateSettingsControlsFromAllBindables(false);
|
||||
|
||||
if (settingsControls.Count == 0)
|
||||
return null;
|
||||
|
||||
SettingsSubsection section;
|
||||
|
||||
switch (handler)
|
||||
|
@ -63,11 +60,21 @@ private SettingsSubsection createSectionFor(InputHandler handler)
|
|||
section = new MouseSettings(mh);
|
||||
break;
|
||||
|
||||
default:
|
||||
// whitelist the handlers which should be displayed to avoid any weird cases of users touching settings they shouldn't.
|
||||
case JoystickHandler _:
|
||||
case MidiHandler _:
|
||||
section = new HandlerSection(handler);
|
||||
break;
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
var settingsControls = handler.CreateSettingsControlsFromAllBindables(false);
|
||||
|
||||
if (settingsControls.Count == 0)
|
||||
return null;
|
||||
|
||||
section.AddRange(settingsControls);
|
||||
|
||||
return section;
|
||||
|
|
Loading…
Reference in New Issue