fix auto away after a connection cut. Fixes #4473
This commit is contained in:
parent
ee92f892f3
commit
0641beb5d4
16
src/gajim.py
16
src/gajim.py
|
@ -1787,23 +1787,27 @@ class Interface:
|
||||||
gajim.block_signed_in_notifications[account] = True
|
gajim.block_signed_in_notifications[account] = True
|
||||||
self.roster.set_actions_menu_needs_rebuild()
|
self.roster.set_actions_menu_needs_rebuild()
|
||||||
self.roster.draw_account(account)
|
self.roster.draw_account(account)
|
||||||
if self.sleeper.getState() != common.sleepy.STATE_UNKNOWN and \
|
state = self.sleeper.getState()
|
||||||
gajim.connections[account].connected in (2, 3):
|
connected = gajim.connections[account].connected
|
||||||
|
if state != common.sleepy.STATE_UNKNOWN and connected in (2, 3):
|
||||||
# we go online or free for chat, so we activate auto status
|
# we go online or free for chat, so we activate auto status
|
||||||
gajim.sleeper_state[account] = 'online'
|
gajim.sleeper_state[account] = 'online'
|
||||||
else:
|
elif not ((state == common.sleepy.STATE_AWAY and connected == 4) or \
|
||||||
|
(state == common.sleepy.STATE_XA and connected == 5)):
|
||||||
|
# If we are autoaway/xa and come back after a disconnection, do nothing
|
||||||
|
# Else disable autoaway
|
||||||
gajim.sleeper_state[account] = 'off'
|
gajim.sleeper_state[account] = 'off'
|
||||||
invisible_show = gajim.SHOW_LIST.index('invisible')
|
invisible_show = gajim.SHOW_LIST.index('invisible')
|
||||||
# We cannot join rooms if we are invisible
|
# We cannot join rooms if we are invisible
|
||||||
if gajim.connections[account].connected == invisible_show:
|
if gajim.connections[account].connected == invisible_show:
|
||||||
return
|
return
|
||||||
# join already open groupchats
|
# join already open groupchats
|
||||||
for gc_control in self.msg_win_mgr.get_controls(message_control.TYPE_GC) + \
|
for gc_control in self.msg_win_mgr.get_controls(message_control.TYPE_GC) \
|
||||||
self.minimized_controls[account].values():
|
+ self.minimized_controls[account].values():
|
||||||
if account != gc_control.account:
|
if account != gc_control.account:
|
||||||
continue
|
continue
|
||||||
room_jid = gc_control.room_jid
|
room_jid = gc_control.room_jid
|
||||||
if room_jid in gajim.gc_connected[account] and\
|
if room_jid in gajim.gc_connected[account] and \
|
||||||
gajim.gc_connected[account][room_jid]:
|
gajim.gc_connected[account][room_jid]:
|
||||||
continue
|
continue
|
||||||
nick = gc_control.nick
|
nick = gc_control.nick
|
||||||
|
|
Loading…
Reference in New Issue