From b188a4dbc92b029d904de236aac93a1769ed7b34 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 26 Dec 2018 22:06:55 +0100 Subject: [PATCH] lazy_value.h: improve handling of low steps value Don't just clamp the speed value to a positive number but immediately assign the destination value. This is needed in situations where the number of steps is too low for proper acceleration and deceleration. Issue #3096 --- repos/demo/include/util/lazy_value.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/repos/demo/include/util/lazy_value.h b/repos/demo/include/util/lazy_value.h index 56135689b..d086babc5 100644 --- a/repos/demo/include/util/lazy_value.h +++ b/repos/demo/include/util/lazy_value.h @@ -76,7 +76,10 @@ class Lazy_value else _speed -= _accel; - if (_speed < 1) _speed = 1; + if (_speed < 1) { + _speed = 0; + _curr = _dst; + } } operator T () const { return _curr; }