IrcServer memory leak fix
[KiwiIRC.git] / server / irc / eventbinder.js
index e3d6d1b207b7e8ade18cf791c8dc0fc410d3e00f..aae2d2e9fca15f36660ee089c7edf13edc10df13 100644 (file)
@@ -15,7 +15,7 @@ module.exports.bindIrcEvents = function (events_scope, event_map, context, irc_c
 
         // Bind the event to `context`, storing it with the event listing
         if (!event_map._bound_events[event_name]) {
-            event_map._bound_events[event_name] = fn.bind(context);
+            event_map._bound_events[event_name] = _.bind(fn, context);
         }
 
         // Add the listener to the IRC connection object
@@ -40,7 +40,9 @@ module.exports.unbindIrcEvents = function (events_scope, event_map, irc_connecti
             irc_connection.removeListener(namespace_prefix + event_name, event_map._bound_events[event_name]);
 
             // Remove the bound function as no longer needed
-            event_map._bound_events[event_name] = undefined;
+            delete event_map._bound_events[event_name];
         }
     });
+
+    delete event_map._bound_events;
 };
\ No newline at end of file