From 6a4ba7bbc9e55ff5f63266f4c7d88847a0235db9 Mon Sep 17 00:00:00 2001
From: Fabian Paus <fabian.paus@kit.edu>
Date: Wed, 27 Apr 2022 10:50:44 +0200
Subject: [PATCH] Merge maps correctly

---
 .../units/RobotUnit/util/introspection/ClassMemberInfo.h   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/source/RobotAPI/components/units/RobotUnit/util/introspection/ClassMemberInfo.h b/source/RobotAPI/components/units/RobotUnit/util/introspection/ClassMemberInfo.h
index b96497739..ccb1d2851 100644
--- a/source/RobotAPI/components/units/RobotUnit/util/introspection/ClassMemberInfo.h
+++ b/source/RobotAPI/components/units/RobotUnit/util/introspection/ClassMemberInfo.h
@@ -169,13 +169,18 @@ namespace armarx::introspection
         std::map<std::string, VariantBasePtr> result;
         for (const auto& e : GetEntries().values())
         {
-            for (auto& elem : e.toVariants(timestamp, ptr))
+            auto newMap = e.toVariants(timestamp, ptr);
+            for (auto& elem : newMap)
             {
                 if (result.count(elem.first))
                 {
                     throw std::invalid_argument {"mergeMaps: newMap would override values from oldMap"};
                 }
             }
+            for (auto& elem : newMap)
+            {
+                result[elem.first] = elem.second;
+            }
             //mergeMaps(result, , MergeMapsMode::OverrideNoValues);
         }
         return result;
-- 
GitLab