diff options
-rw-r--r-- | Userland/Services/WindowServer/main.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Userland/Services/WindowServer/main.cpp b/Userland/Services/WindowServer/main.cpp index 05852851ba..8771a01412 100644 --- a/Userland/Services/WindowServer/main.cpp +++ b/Userland/Services/WindowServer/main.cpp @@ -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(); |