From 13a61c568dc27a0d205ba216331d06ad783198b2 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Thu, 30 Sep 2021 17:08:23 -0400 Subject: [PATCH] add special handling for out cap=1 in classic fixes gui crash / avoids div-by-0 --- common/accel-classic.hpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/common/accel-classic.hpp b/common/accel-classic.hpp index 2ca1233..435d42f 100644 --- a/common/accel-classic.hpp +++ b/common/accel-classic.hpp @@ -116,13 +116,21 @@ namespace rawaccel { if (args.cap.y > 0) { cap.y = args.cap.y - 1; - if (cap.y < 0) { - cap.y = -cap.y; - sign = -sign; + if (cap.y == 0) { + cap.x = 0; } + else { + if (cap.y < 0) { + cap.y = -cap.y; + sign = -sign; + } - cap.x = gain_inverse(cap.y, args.acceleration, args.exponent_classic, args.input_offset); - constant = (base_fn(cap.x, accel_raised, args) - cap.y) * cap.x; + cap.x = gain_inverse(cap.y, + args.acceleration, + args.exponent_classic, + args.input_offset); + constant = (base_fn(cap.x, accel_raised, args) - cap.y) * cap.x; + } } break; }