# HG changeset patch
# User Charly COSTE <changaco@changaco.net>
# Date 1268002256 -3600
# Node ID 4ad8e985c7d3a13bff6d7d49e85f32f243ceb90d
# Parent  02c58515edde873e4562033a44c380c97a72bfb0
tried to fix Bridge.remove_participant

Signed-off-by: Charly COSTE <changaco@changaco.net>

diff --git a/bridge.py b/bridge.py
--- a/bridge.py
+++ b/bridge.py
@@ -295,6 +295,8 @@ class Bridge:
 				elif left_protocol == 'irc':
 					# got disconnected somehow
 					if isinstance(p.irc_connection, ServerConnection):
+						if p.irc_connection.socket == 'closed':
+							return
 						p.irc_connection.join(self.irc_room)
 					else:
 						c = self.bot.irc.get_connection(self.irc_server, self.irc_port, p.duplicate_nickname)
@@ -315,6 +317,8 @@ class Bridge:
 				if left_protocol == 'irc':
 					was_on_both = False
 				elif left_protocol == 'xmpp':
+					if isinstance(p.muc, xmpp.muc) and not xmpp.muc.connected:
+						return
 					# got disconnected somehow
 					if isinstance(p.xmpp_c, xmpp.client.Client):
 						self.bot.reopen_xmpp_connection(p.xmpp_c)