From ee1155fe6d5683578294c0ea20a8a3a0bf8ecbe4 Mon Sep 17 00:00:00 2001 From: sapier Date: Tue, 9 Apr 2013 20:14:07 +0200 Subject: [PATCH] Really fix itemdef memory leak --- src/itemdef.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/itemdef.cpp b/src/itemdef.cpp index 05328ea4..d660db77 100644 --- a/src/itemdef.cpp +++ b/src/itemdef.cpp @@ -226,17 +226,11 @@ class CItemDefManager: public IWritableItemDefManager public: CItemDefManager() { - for (std::map::iterator iter = - m_item_definitions.begin(); iter != m_item_definitions.end(); - iter ++) { - delete iter->second; - } - m_item_definitions.clear(); + #ifndef SERVER m_main_thread = get_current_thread_id(); m_driver = NULL; #endif - clear(); } virtual ~CItemDefManager() @@ -260,6 +254,12 @@ public: } m_driver = NULL; #endif + for (std::map::iterator iter = + m_item_definitions.begin(); iter != m_item_definitions.end(); + iter ++) { + delete iter->second; + } + m_item_definitions.clear(); } virtual const ItemDefinition& get(const std::string &name_) const {