Current tab input is refreshed on kick/ban even when it does not exist

leading to tracebacks and shenanigans
This commit is contained in:
mathieui 2018-01-16 00:05:02 +01:00
parent 020c7db1ae
commit 323b77c2f4
No known key found for this signature in database
GPG key ID: C59F84CEEFD616E3
2 changed files with 8 additions and 4 deletions

View file

@ -323,6 +323,12 @@ class Tab(object):
elif not self.size.core_degrade_y:
self.core.tab_win.refresh()
def refresh_input(self):
"""Refresh the current input if any"""
if self.input is not None:
self.input.refresh()
self.core.doupdate()
def refresh(self):
"""
Called on each screen refresh (when something has changed)

View file

@ -720,8 +720,7 @@ class MucTab(ChatTab):
self.core.disable_private_tabs(self.name, reason=kick_msg)
self.disconnect()
self.refresh_tab_win()
self.core.current_tab().input.refresh()
self.core.doupdate()
self.core.current_tab().refresh_input()
if config.get_by_tabname('autorejoin', self.general_jid):
delay = config.get_by_tabname('autorejoin_delay',
self.general_jid)
@ -799,8 +798,7 @@ class MucTab(ChatTab):
self.core.disable_private_tabs(self.name, reason=kick_msg)
self.disconnect()
self.refresh_tab_win()
self.core.current_tab().input.refresh()
self.core.doupdate()
self.core.current_tab().refresh_input()
# try to auto-rejoin
if config.get_by_tabname('autorejoin', self.general_jid):
delay = config.get_by_tabname('autorejoin_delay',