summaryrefslogtreecommitdiff
path: root/src/core.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.py')
-rw-r--r--src/core.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core.py b/src/core.py
index c3ae2ef8..890e59d9 100644
--- a/src/core.py
+++ b/src/core.py
@@ -3457,8 +3457,11 @@ class Core(object):
jid = presence['from']
contact = roster[jid.bare]
tab = self.get_conversation_by_jid(jid, create=False)
- if isinstance(tab, tabs.DynamicConversationTab) and tab.get_dest_jid() != jid.full:
- tab.unlock(from_=jid.full)
+ if isinstance(tab, tabs.DynamicConversationTab):
+ if tab.get_dest_jid() != jid.full:
+ tab.unlock(from_=jid.full)
+ elif presence['type'] == 'unavailable':
+ tab.unlock()
if contact is None:
return
roster.modified()