From 22b7d9fbeebe67467427fcb3d015e1aa74aafd80 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 1 Nov 2011 00:15:28 -0400 Subject: [PATCH] Added a copy constructor to dynamic_reference to allow references to reference other references correctly --- include/anope.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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)