From 1a46b1b280ad3b02f2d10a635f95d122b4329fcf Mon Sep 17 00:00:00 2001
From: Fabian Peller <fabian.peller-konrad@kit.edu>
Date: Thu, 30 Nov 2023 16:36:03 +0100
Subject: [PATCH] fix missing result for the last status update if a skill
 succeeds

---
 .../components/skills/SkillProviderExample/HelloWorld.cpp    | 5 +++--
 .../skills/provider/detail/SkillImplementationWrapper.cpp    | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp b/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp
index edf918402..d3e66e838 100644
--- a/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp
+++ b/source/RobotAPI/components/skills/SkillProviderExample/HelloWorld.cpp
@@ -29,7 +29,8 @@ namespace armarx::skills::provider
                                 .rootProfileDefaults = root_profile_params.toAron(),
                                 .timeout = armarx::core::time::Duration::MilliSeconds(1000),
                                 .parametersType =
-                                    armarx::skills::Example::HelloWorldAcceptedType::ToAronType()};
+                                    armarx::skills::Example::HelloWorldAcceptedType::ToAronType(),
+                                .resultType = armarx::skills::Example::HelloWorldAcceptedType::ToAronType()};
     }
 
     Skill::MainResult
@@ -42,6 +43,6 @@ namespace armarx::skills::provider
                                 .dump(2)
                          << "\n"
                          << "(executed at: " << IceUtil::Time::now() << ")";
-        return {TerminatedSkillStatus::Succeeded, nullptr};
+        return {TerminatedSkillStatus::Succeeded, in.parameters.toAron()};
     }
 } // namespace armarx::skills::provider
diff --git a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
index 55f9d80c0..25fe34efa 100644
--- a/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
+++ b/source/RobotAPI/libraries/skills/provider/detail/SkillImplementationWrapper.cpp
@@ -340,7 +340,7 @@ namespace armarx
             // Exit succeeded!
             // All succeeded!
             {
-                updateStatus(SkillStatus::Succeeded);
+                updateStatus(SkillStatus::Succeeded, mainRet.data);
 
                 // return result of main method
                 std::unique_lock l(skillStatusesMutex);
-- 
GitLab