From 8abf480f320bca37dc020c6b024efd4f07aa9b57 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Thu, 27 May 2021 18:26:55 +0200
Subject: [PATCH] ScopedClient: fixing virtual d'tor issue; need additional
 c'tor

---
 source/RobotAPI/components/ArViz/Client/Client.h         | 2 ++
 source/RobotAPI/components/ArViz/Client/ScopedClient.cpp | 1 +
 source/RobotAPI/components/ArViz/Client/ScopedClient.h   | 1 +
 3 files changed, 4 insertions(+)

diff --git a/source/RobotAPI/components/ArViz/Client/Client.h b/source/RobotAPI/components/ArViz/Client/Client.h
index 71e4197cc..f946e02d4 100644
--- a/source/RobotAPI/components/ArViz/Client/Client.h
+++ b/source/RobotAPI/components/ArViz/Client/Client.h
@@ -15,12 +15,14 @@ namespace armarx::viz
     {
     public:
         Client() = default;
+        virtual ~Client() = default;
 
         Client(armarx::Component& component, std::string topicNameProperty = "ArVizTopicName")
         {
             componentName = component.getName();
             component.getTopicFromProperty(_topic, topicNameProperty);
         }
+
         Client(ManagedIceObject& obj, const std::string& topicName = "ArVizTopic")
         {
             componentName = obj.getName();
diff --git a/source/RobotAPI/components/ArViz/Client/ScopedClient.cpp b/source/RobotAPI/components/ArViz/Client/ScopedClient.cpp
index 2e968ca7d..ed2f2221e 100644
--- a/source/RobotAPI/components/ArViz/Client/ScopedClient.cpp
+++ b/source/RobotAPI/components/ArViz/Client/ScopedClient.cpp
@@ -24,6 +24,7 @@
 
 namespace armarx::viz
 {
+    ScopedClient::ScopedClient(const Client& client): Client(client) {}
 
     Layer ScopedClient::layer(std::string const& name) const
     {
diff --git a/source/RobotAPI/components/ArViz/Client/ScopedClient.h b/source/RobotAPI/components/ArViz/Client/ScopedClient.h
index 11a64bd1e..78adbcab3 100644
--- a/source/RobotAPI/components/ArViz/Client/ScopedClient.h
+++ b/source/RobotAPI/components/ArViz/Client/ScopedClient.h
@@ -41,6 +41,7 @@ namespace armarx::viz
     {
     public:
         using Client::Client;
+        ScopedClient(const Client& client);
 
         Layer layer(std::string const& name) const override;
 
-- 
GitLab