From 9ed203c0cb137997241e3094a9430ef593d2b1f0 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 15 Nov 2011 16:16:38 -0500 Subject: Fixed crash on shutdown & a compiler warning --- include/serialize.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/serialize.h b/include/serialize.h index 8bd26bfda..41d79d138 100644 --- a/include/serialize.h +++ b/include/serialize.h @@ -66,7 +66,7 @@ extern void RegisterTypes(); class CoreExport Serializable { private: - static std::list serizliable_items; + static std::list *serizliable_items; Anope::string serizliable_name; std::list::iterator s_iter; @@ -79,19 +79,21 @@ class CoreExport Serializable protected: Serializable(const Anope::string &n) : serizliable_name(n) { - serizliable_items.push_front(this); - this->s_iter = serizliable_items.begin(); + if (serizliable_items == NULL) + serizliable_items = new std::list(); + serizliable_items->push_front(this); + this->s_iter = serizliable_items->begin(); } Serializable(const Serializable &) { - serizliable_items.push_front(this); - this->s_iter = serizliable_items.begin(); + serizliable_items->push_front(this); + this->s_iter = serizliable_items->begin(); } virtual ~Serializable() { - serizliable_items.erase(this->s_iter); + serizliable_items->erase(this->s_iter); } Serializable &operator=(const Serializable &) @@ -111,7 +113,7 @@ class CoreExport Serializable static const std::list &GetItems() { - return serizliable_items; + return *serizliable_items; } }; -- cgit