diff --git a/include/anope.h b/include/anope.h index 3eec3d4e4..60eb59775 100644 --- a/include/anope.h +++ b/include/anope.h @@ -484,7 +484,7 @@ class CoreExport Base void DelReference(dynamic_reference_base *r); }; -class dynamic_reference_base : public Base +class dynamic_reference_base { protected: bool invalid; @@ -506,6 +506,12 @@ class dynamic_reference : public dynamic_reference_base ref->AddReference(this); } + dynamic_reference(const dynamic_reference &obj) : ref(obj.ref) + { + if (ref) + ref->AddReference(this); + } + virtual ~dynamic_reference() { if (this->invalid)