diff --git a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp index f741eefd000805e2dba683fc46fded402052d995..a847c5f16420610b778b0c1907b9ecc6fbb20172 100644 --- a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp +++ b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp @@ -1190,18 +1190,15 @@ void KinematicUnitWidgetController::reportJointMotorTemperatures(const NameValue void KinematicUnitWidgetController::reportJointStatuses(const NameStatusMap& jointStatuses, Ice::Long timestamp, bool aValueChanged, const Ice::Current&) { - boost::recursive_mutex::scoped_lock lock(mutexNodeSet); - if (aValueChanged && jointCurrents.size() > 0) + if (!aValueChanged && reportedJointStatuses.size() > 0) { - jointCurrentHistory.push_back(std::pair<Ice::Long, NameValueMap>(timestamp, jointCurrents)); + return; } - while (jointCurrentHistory.back().first - jointCurrentHistory.front().first > historyTime && jointCurrentHistory.size() > 1) - { - jointCurrentHistory.pop_front(); - } + boost::recursive_mutex::scoped_lock lock(mutexNodeSet); + reportedJointStatuses = jointStatuses; - emit jointCurrentsReported(); + emit jointStatusesReported(); }