summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/input_common/drivers/mouse.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/input_common/drivers/mouse.cpp b/src/input_common/drivers/mouse.cpp
index dac29c78f..9fb824baf 100644
--- a/src/input_common/drivers/mouse.cpp
+++ b/src/input_common/drivers/mouse.cpp
@@ -160,8 +160,9 @@ void Mouse::Move(int x, int y, int center_x, int center_y) {
last_mouse_change.y += mouse_change.y * y_sensitivity;
// Bind the mouse change to [0 <= deadzone_counterweight <= 1.0]
- if (last_mouse_change.Length() < deadzone_counterweight) {
- last_mouse_change /= last_mouse_change.Length();
+ const float length = last_mouse_change.Length();
+ if (length < deadzone_counterweight && length != 0.0f) {
+ last_mouse_change /= length;
last_mouse_change *= deadzone_counterweight;
}