From 7c0d9823d38216260a14dbc5e1b9f6915de4288e Mon Sep 17 00:00:00 2001
From: Mirko Waechter <mirko.waechter@kit.edu>
Date: Sun, 8 Nov 2015 11:03:03 +0900
Subject: [PATCH] RemoteRobot: Null Nodes were not retrieved again

---
 .../RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp   | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp b/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp
index a9007094e..7cb4951b4 100644
--- a/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp
+++ b/source/RobotAPI/libraries/core/remoterobot/RemoteRobot.cpp
@@ -96,19 +96,19 @@ namespace armarx
     RobotNodePtr RemoteRobot::getRobotNode(const string& robotNodeName)
     {
         DMES((format("Node: %1%") % robotNodeName));
-
-        if (_cachedNodes.find(robotNodeName) == _cachedNodes.end())
+        auto it = _cachedNodes.find(robotNodeName);
+        if (it == _cachedNodes.end() || it->second == NULL)
         {
             DMES("No cache hit");
             _cachedNodes[robotNodeName] = RemoteRobot::createRemoteRobotNode(_robot->getRobotNode(robotNodeName),
                                           shared_from_this());
+            return _cachedNodes[robotNodeName];
         }
         else
         {
             DMES("Cache hit");
+            return it->second;
         }
-
-        return _cachedNodes[robotNodeName];
     }
 
     void RemoteRobot::getRobotNodes(vector< RobotNodePtr >& storeNodes, bool clearVector)
-- 
GitLab