From d12f735dd9cce789f41fd9ce0a3d065f70fed778 Mon Sep 17 00:00:00 2001
From: Reinhard Biegel <reinhard.biegel@in-tech.com>
Date: Thu, 23 Mar 2023 13:49:36 +0100
Subject: [PATCH] Fix Spawner CreateInstance pointer type and usage

---
 sim/src/core/opSimulation/bindings/spawnPointLibrary.cpp      | 4 ++--
 sim/src/core/opSimulation/bindings/spawnPointLibrary.h        | 4 ++--
 .../modules/Spawners/Scenario/SpawnerScenarioExport.cpp       | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/sim/src/core/opSimulation/bindings/spawnPointLibrary.cpp b/sim/src/core/opSimulation/bindings/spawnPointLibrary.cpp
index 00bb502de..62701a66a 100644
--- a/sim/src/core/opSimulation/bindings/spawnPointLibrary.cpp
+++ b/sim/src/core/opSimulation/bindings/spawnPointLibrary.cpp
@@ -103,10 +103,10 @@ std::unique_ptr<SpawnPoint> SpawnPointLibrary::CreateSpawnPoint(const SpawnPoint
         }
     }
 
-    std::unique_ptr<SpawnPointInterface> spawnPoint = nullptr;
+    std::unique_ptr<SpawnPointInterface> spawnPoint;
     try
     {
-        spawnPoint = createInstanceFunc(&dependencies, callbacks);
+        spawnPoint.reset(createInstanceFunc(&dependencies, callbacks));
     }
     catch(std::runtime_error const &ex)
     {
diff --git a/sim/src/core/opSimulation/bindings/spawnPointLibrary.h b/sim/src/core/opSimulation/bindings/spawnPointLibrary.h
index b37116508..1f75f2755 100644
--- a/sim/src/core/opSimulation/bindings/spawnPointLibrary.h
+++ b/sim/src/core/opSimulation/bindings/spawnPointLibrary.h
@@ -35,8 +35,8 @@ class SpawnPointLibrary
 {
 public:    
     typedef const std::string &(*SpawnPointInterface_GetVersion)();
-    typedef std::unique_ptr<SpawnPointInterface> (*SpawnPointInterface_CreateInstanceType)(const SpawnPointDependencies* dependencies,
-                                                                                           const CallbackInterface* callbacks);
+    typedef SpawnPointInterface* (*SpawnPointInterface_CreateInstanceType)(const SpawnPointDependencies* dependencies,
+                                                                           const CallbackInterface* callbacks);
 
     SpawnPointLibrary(const std::string &libraryPath,
                       CallbackInterface *callbacks) :
diff --git a/sim/src/core/opSimulation/modules/Spawners/Scenario/SpawnerScenarioExport.cpp b/sim/src/core/opSimulation/modules/Spawners/Scenario/SpawnerScenarioExport.cpp
index fa8aa6942..92617a3c7 100644
--- a/sim/src/core/opSimulation/modules/Spawners/Scenario/SpawnerScenarioExport.cpp
+++ b/sim/src/core/opSimulation/modules/Spawners/Scenario/SpawnerScenarioExport.cpp
@@ -21,7 +21,7 @@ extern "C" SPAWNPOINT_SHARED_EXPORT const std::string &OpenPASS_GetVersion()
 }
 
 extern "C" SPAWNPOINT_SHARED_EXPORT SpawnPointInterface* OpenPASS_CreateInstance(const SpawnPointDependencies* dependencies,
-                                                                                                 const CallbackInterface* callbacks)
+                                                                                 const CallbackInterface* callbacks)
 {
     Callbacks = callbacks;
 
-- 
GitLab