From f1f51c9cfcea9e8b277b11948a300ecb8a6d4a11 Mon Sep 17 00:00:00 2001 From: Adrian Knobloch <adrian.knobloch@student.kit.edu> Date: Fri, 9 Sep 2016 16:20:17 +0200 Subject: [PATCH] Fix clearing outdated values in history; again... --- .../KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp index a847c5f16..3dfed33e5 100644 --- a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp +++ b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp @@ -1168,14 +1168,13 @@ void KinematicUnitWidgetController::reportControlModeChanged(const NameControlMo void KinematicUnitWidgetController::reportJointCurrents(const NameValueMap& jointCurrents, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c) { - if (!aValueChanged && jointCurrents.size() > 0) + boost::recursive_mutex::scoped_lock lock(mutexNodeSet); + if (aValueChanged && jointCurrents.size() > 0) { - return; + jointCurrentHistory.push_back(std::pair<Ice::Long, NameValueMap>(timestamp, jointCurrents)); } - boost::recursive_mutex::scoped_lock lock(mutexNodeSet); - jointCurrentHistory.push_back(std::pair<Ice::Long, NameValueMap>(timestamp, jointCurrents)); - if (jointCurrentHistory.back().first - jointCurrentHistory.front().first > historyTime) + while (jointCurrentHistory.back().first - jointCurrentHistory.front().first > historyTime && jointCurrentHistory.size() > 1) { jointCurrentHistory.pop_front(); } -- GitLab