summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/inspircd.h2
-rw-r--r--include/usermanager.h2
-rw-r--r--src/inspircd.cpp5
3 files changed, 2 insertions, 7 deletions
diff --git a/include/inspircd.h b/include/inspircd.h
index 3909b1328..0f6a411a3 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -397,7 +397,7 @@ class CoreExport InspIRCd
/** User manager. Various methods and data associated with users.
*/
- UserManager *Users;
+ UserManager Users;
/** Channel list, a hash_map containing all channels XXX move to channel manager class
*/
diff --git a/include/usermanager.h b/include/usermanager.h
index a419916f2..945e64439 100644
--- a/include/usermanager.h
+++ b/include/usermanager.h
@@ -21,7 +21,7 @@
#include <list>
-class CoreExport UserManager
+class CoreExport UserManager : public fakederef<UserManager>
{
public:
struct CloneCounts
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index d873916f4..cad322e34 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -124,7 +124,6 @@ void InspIRCd::Cleanup()
FakeClient->cull();
}
DeleteZero(this->FakeClient);
- DeleteZero(this->Users);
DeleteZero(this->XLines);
DeleteZero(this->Config);
SocketEngine::Deinit();
@@ -247,7 +246,6 @@ InspIRCd::InspIRCd(int argc, char** argv) :
do_nolog = 0, do_root = 0;
// Initialize so that if we exit before proper initialization they're not deleted
- this->Users = 0;
this->Config = 0;
this->XLines = 0;
this->ConfigThread = NULL;
@@ -258,9 +256,6 @@ InspIRCd::InspIRCd(int argc, char** argv) :
SocketEngine::Init();
- // Create base manager classes early, so nothing breaks
- this->Users = new UserManager;
-
this->Config = new ServerConfig;
dynamic_reference_base::reset_all();
this->XLines = new XLineManager;