diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core.py | 4 | ||||
-rw-r--r-- | src/tabs/conversationtab.py | 1 | ||||
-rw-r--r-- | src/tabs/privatetab.py | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/src/core.py b/src/core.py index ac0c1722..b7f6ea17 100644 --- a/src/core.py +++ b/src/core.py @@ -3494,6 +3494,10 @@ class Core(object): return roster.modified() contact.error = presence['error']['type'] + ': ' + presence['error']['condition'] + # reset chat states status on presence error + tab = self.get_tab_by_name(jid.full, tabs.ConversationTab) + if tab: + tab.remote_wants_chatstates = None def on_got_offline(self, presence): """ diff --git a/src/tabs/conversationtab.py b/src/tabs/conversationtab.py index f999ddcd..ce60689c 100644 --- a/src/tabs/conversationtab.py +++ b/src/tabs/conversationtab.py @@ -406,6 +406,7 @@ class DynamicConversationTab(ConversationTab): Unlock the tab from a resource. It is now “associated” with the bare jid. """ + self.remote_wants_chatstates = None if self.locked_resource != None: self.locked_resource = None diff --git a/src/tabs/privatetab.py b/src/tabs/privatetab.py index 5599ec45..5b9d1cee 100644 --- a/src/tabs/privatetab.py +++ b/src/tabs/privatetab.py @@ -357,6 +357,7 @@ class PrivateTab(ChatTab): def deactivate(self, reason=None): self.on = False + self.remote_wants_chatstates = None if reason: self.add_message(txt=reason, typ=2) |