mod_muc: Remove room from memory when it is made non-persistent and is empty
authorMatthew Wild <mwild1@gmail.com>
Wed, 04 May 2011 23:12:53 +0100
changeset 4260 403aba5e49d5
parent 4258 ee445e658848
child 4261 b980a4173c1a
child 4275 5305a665bdd4
mod_muc: Remove room from memory when it is made non-persistent and is empty
plugins/muc/mod_muc.lua
--- a/plugins/muc/mod_muc.lua	Wed Apr 20 18:19:28 2011 +0100
+++ b/plugins/muc/mod_muc.lua	Wed May 04 23:12:53 2011 +0100
@@ -58,6 +58,9 @@
 		room._data.history = history;
 	elseif forced then
 		datamanager.store(node, muc_host, "config", nil);
+		if not next(room._occupants) then -- Room empty
+			rooms[room.jid] = nil;
+		end
 	end
 	if forced then datamanager.store(nil, muc_host, "persistent", persistent_rooms); end
 end