From 927937d6105d17fbcd8c85bbf185477d87264bc4 Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Thu, 4 Apr 2013 22:09:21 +0200 Subject: Rework dynamic_reference management, introduce dynamic_reference_nocheck New dynamic references are now resolved at construction and all of them are re-resolved when a relevant service is added or removed; resolution is no longer done in operator-> dynamic_reference_nocheck is a variant of dynamic_reference that does not check for value being null in operator-> / operator* dynamic_reference still throws an exception when used in this case Both kinds of dynamic references support .check(): an exception is thrown if this is called when value is null --- src/inspircd.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/inspircd.cpp') diff --git a/src/inspircd.cpp b/src/inspircd.cpp index cccf3fe89..b3c4ca27d 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -347,6 +347,7 @@ InspIRCd::InspIRCd(int argc, char** argv) : this->SNO = new SnomaskManager; this->BanCache = new BanCacheManager; this->Modules = new ModuleManager(); + dynamic_reference_base::reset_all(); this->stats = new serverstats(); this->Timers = new TimerManager; this->Parser = new CommandParser; -- cgit v1.3.1-10-gc9f91