From 7f594b8fa05668449f78fd58c838958b25a1c788 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 29 Nov 2007 00:54:49 +0000 Subject: [PATCH] more fixes --HG-- branch : sourcemm-1.4.3 extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/sourcemm-1.4.3%40588 --- sourcemm/concommands.cpp | 8 ++++++++ sourcemm/concommands.h | 1 + sourcemm/vsp_listener.cpp | 2 ++ 3 files changed, 11 insertions(+) diff --git a/sourcemm/concommands.cpp b/sourcemm/concommands.cpp index b79f128..d67db68 100644 --- a/sourcemm/concommands.cpp +++ b/sourcemm/concommands.cpp @@ -760,6 +760,14 @@ void ClientCommand_handler(edict_t *client) RETURN_META(MRES_IGNORED); } +void SMConVarAccessor::UnloadMetamodCommands() +{ + Unregister(&metamod_version); + Unregister(&mm_pluginsfile); + Unregister(&mm_basedir); + Unregister(&meta_command); +} + const char *GetPluginsFile() { return mm_pluginsfile.GetString(); diff --git a/sourcemm/concommands.h b/sourcemm/concommands.h index 99640f5..6256186 100644 --- a/sourcemm/concommands.h +++ b/sourcemm/concommands.h @@ -31,6 +31,7 @@ public: void MarkCommandsAsGameDLL(); void Unregister(ConCommandBase *pCommand); void UnregisterGameDLLCommands(); + void UnloadMetamodCommands(); }; class CAlwaysRegisterableCommand : public ConCommandBase diff --git a/sourcemm/vsp_listener.cpp b/sourcemm/vsp_listener.cpp index 56aee6e..9f65997 100644 --- a/sourcemm/vsp_listener.cpp +++ b/sourcemm/vsp_listener.cpp @@ -10,6 +10,7 @@ #include "vsp_listener.h" #include "CPlugin.h" +#include "concommands.h" using namespace SourceMM; @@ -95,6 +96,7 @@ void VSPListener::Unload() { if (IsRootLoadMethod()) { + g_SMConVarAccessor.UnloadMetamodCommands(); UnloadMetamod(false); } m_Loadable = true;