If we were disconnected from a gc but tab is still opened, reconnect to it nicely when

changing status. (Was already reconnecting, but with bad xml)
This commit is contained in:
Jean-Marie Traissard 2007-04-01 09:36:03 +00:00
parent 8c2c43be0f
commit 069c0750a8
1 changed files with 9 additions and 2 deletions

View File

@ -2809,8 +2809,15 @@ class RosterWindow:
for gc_control in gajim.interface.msg_win_mgr.get_controls( for gc_control in gajim.interface.msg_win_mgr.get_controls(
message_control.TYPE_GC): message_control.TYPE_GC):
if gc_control.account == account: if gc_control.account == account:
if gajim.gc_connected[account][gc_control.room_jid]:
gajim.connections[account].send_gc_status(gc_control.nick, gajim.connections[account].send_gc_status(gc_control.nick,
gc_control.room_jid, status, txt) gc_control.room_jid, status, txt)
else:
# for some reason, we are not connected to the room even if
# tab is opened, send initial join_gc()
gajim.connections[account].join_gc(gc_control.nick,
gc_control.room_jid, None)
if gajim.account_is_connected(account): if gajim.account_is_connected(account):
if status == 'online' and gajim.interface.sleeper.getState() != \ if status == 'online' and gajim.interface.sleeper.getState() != \
common.sleepy.STATE_UNKNOWN: common.sleepy.STATE_UNKNOWN: