WindowServer: Reset mouse acceleration if out of range

Before if the mouse acceleration was out of range the WindowServer would
crash, this could happen if the config had an out of range or non double
vaule.
This commit is contained in:
davidot 2022-10-22 14:41:52 +02:00 committed by Linus Groh
commit 97dc1585b1
Notes: sideshowbarker 2024-07-17 08:37:36 +09:00

View file

@ -128,7 +128,13 @@ ErrorOr<int> serenity_main(Main::Arguments)
auto& screen_input = WindowServer::ScreenInput::the();
screen_input.set_cursor_location(WindowServer::Screen::main().rect().center());
screen_input.set_acceleration_factor(atof(wm_config->read_entry("Mouse", "AccelerationFactor", "1.0").characters()));
double f = atof(wm_config->read_entry("Mouse", "AccelerationFactor", "1.0").characters());
if (f < WindowServer::mouse_accel_min || f > WindowServer::mouse_accel_max) {
dbgln("Mouse.AccelerationFactor out of range resetting to 1.0");
f = 1.0;
wm_config->write_entry("Mouse", "AccelerationFactor", "1.0");
}
screen_input.set_acceleration_factor(f);
screen_input.set_scroll_step_size(wm_config->read_num_entry("Mouse", "ScrollStepSize", 4));
WindowServer::Compositor::the();