From defc9025718164bea696e06f6b9c82830dec4d79 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 5 Apr 2022 04:45:01 +0200 Subject: [PATCH] Allow to use Destructible as virtual base class This is in preparation for a pure-virtual base class for PluginInsert to expose `DropReferences` in the virtual base. ``` class PlugInsertBase : virtual public PBD::Destructible class PluginInsert : public Processor, public PlugInsertBase class Processor : public SessionObject class SessionObject : public PBD::StatefulDestructible ``` --- libs/pbd/pbd/destructible.h | 3 +-- libs/pbd/pbd/statefuldestructible.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/libs/pbd/pbd/destructible.h b/libs/pbd/pbd/destructible.h index 8acbed05e2..804f32fedc 100644 --- a/libs/pbd/pbd/destructible.h +++ b/libs/pbd/pbd/destructible.h @@ -25,8 +25,7 @@ namespace PBD { class LIBPBD_API Destructible { - public: - Destructible() {} +public: virtual ~Destructible () { Destroyed(); } PBD::Signal0 Destroyed; diff --git a/libs/pbd/pbd/statefuldestructible.h b/libs/pbd/pbd/statefuldestructible.h index d2cf87db10..274457c88f 100644 --- a/libs/pbd/pbd/statefuldestructible.h +++ b/libs/pbd/pbd/statefuldestructible.h @@ -26,7 +26,7 @@ namespace PBD { /** Base class for objects with saveable and undoable state with destruction notification */ -class LIBPBD_API StatefulDestructible : public Stateful, public Destructible +class LIBPBD_API StatefulDestructible : public Stateful, virtual public Destructible { };