From 4b8e4dae589cabef054991c08eb2cd47c867994a Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Tue, 15 Nov 2011 01:00:16 +0200 Subject: Tool definition transfer to client --- src/tooldef.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src/tooldef.cpp') diff --git a/src/tooldef.cpp b/src/tooldef.cpp index 1c85dbd8e..1284a52ab 100644 --- a/src/tooldef.cpp +++ b/src/tooldef.cpp @@ -85,11 +85,7 @@ class CToolDefManager: public IWritableToolDefManager public: virtual ~CToolDefManager() { - for(core::map::Iterator - i = m_tool_definitions.getIterator(); - i.atEnd() == false; i++){ - delete i.getNode()->getValue(); - } + clear(); } virtual const ToolDefinition* getToolDefinition(const std::string &toolname) const { @@ -123,16 +119,25 @@ public: virtual bool registerTool(std::string toolname, const ToolDefinition &def) { infostream<<"registerTool: registering tool \""<::Node *n; + /*core::map::Node *n; n = m_tool_definitions.find(toolname); if(n != NULL){ errorstream<<"registerTool: registering tool \""<::Iterator + i = m_tool_definitions.getIterator(); + i.atEnd() == false; i++){ + delete i.getNode()->getValue(); + } + m_tool_definitions.clear(); + } virtual void serialize(std::ostream &os) { writeU8(os, 0); // version @@ -153,6 +158,9 @@ public: } virtual void deSerialize(std::istream &is) { + // Clear everything + clear(); + // Deserialize int version = readU8(is); if(version != 0) throw SerializationError( "unsupported ToolDefManager version"); -- cgit v1.2.3