From 5b7c9a49b50e2236379ee59fe312fb31a4ea2a97 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Tue, 21 Sep 2021 22:25:52 +0200
Subject: [PATCH] BUG: Fix missing virtual destructor

---
 include/caosdb/protobuf_helper.h | 4 ++++
 test/test_entity.cpp             | 3 ---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/include/caosdb/protobuf_helper.h b/include/caosdb/protobuf_helper.h
index 4e0114a..026887a 100644
--- a/include/caosdb/protobuf_helper.h
+++ b/include/caosdb/protobuf_helper.h
@@ -44,6 +44,7 @@ auto get_arena() -> Arena *;
 
 template <typename P> class ProtoMessageWrapper {
 public:
+  virtual ~ProtoMessageWrapper() = 0;
   ProtoMessageWrapper(const ProtoMessageWrapper<P> &other) = default;
   inline auto CopyFrom(const ProtoMessageWrapper<P> &other) noexcept -> StatusCode {
     this->wrapped->CopyFrom(*other.wrapped);
@@ -86,8 +87,11 @@ protected:
   P *wrapped;
 };
 
+template <typename P> ProtoMessageWrapper<P>::~ProtoMessageWrapper() = default;
+
 template <typename P> class ScalarFieldWrapper : public ProtoMessageWrapper<P> {
 public:
+  inline virtual ~ScalarFieldWrapper() = default;
   inline ScalarFieldWrapper() = default;
   inline ScalarFieldWrapper(P *wrapped) : ProtoMessageWrapper<P>(wrapped) {}
   /**
diff --git a/test/test_entity.cpp b/test/test_entity.cpp
index d4b6770..ad74ef6 100644
--- a/test/test_entity.cpp
+++ b/test/test_entity.cpp
@@ -439,10 +439,7 @@ TEST(test_entity, test_remove_property) {
   // P0,P1,P2,P3,P4,P5,P6,P7,P8,P9
   //          ^
   // P0,P1,P2,   P4,P5,P6,P7,P8,P9
-  CAOSDB_LOG_WARN(logger_name) << "REMOVE(3)!!!!!!!!!!!!!!!!!!!!!";
-  CAOSDB_LOG_WARN(logger_name) << entity.GetProperties().ToString();
   entity.RemoveProperty(3);
-  CAOSDB_LOG_WARN(logger_name) << entity.GetProperties().ToString();
 
   ASSERT_EQ(entity.GetProperties().size(), 9);
   for (int i = 0; i < 3; i++) {
-- 
GitLab