From e6dd1e274370ada9eda74645d88de2c99f9b3629 Mon Sep 17 00:00:00 2001 From: TheCoconutChef Date: Tue, 17 Sep 2024 21:06:09 -0400 Subject: [PATCH] fix missing virtual dtor on observable_reader_node This commit fixes an issue where the observable_reader_node, which serve as a base class for reader_node, didn't have a virtual dtor. This was made easier to miss in virtue of observable_reader_node not having any virtual method. By having observable_reader_node derive from reader_node_base, we effectively fix the issue and by removing multiple inheritance. observable_reader_node now inherits its virtual dtor from reader_node_base. --- lager/detail/nodes.hpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lager/detail/nodes.hpp b/lager/detail/nodes.hpp index b0bf68e3..0748259d 100644 --- a/lager/detail/nodes.hpp +++ b/lager/detail/nodes.hpp @@ -131,7 +131,7 @@ struct notifying_guard_t * Interface for nodes capable of notifying observers. */ template -class observable_reader_node +class observable_reader_node : public reader_node_base { public: using value_type = T; @@ -186,9 +186,7 @@ class observable_reader_node * functionality for setting values and propagating them to children. */ template -class reader_node - : public reader_node_base - , public observable_reader_node +class reader_node : public observable_reader_node { public: using value_type = typename observable_reader_node::value_type;