summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2014-05-31 17:29:29 +0200
committerFlorent Le Coz <louiz@louiz.org>2014-05-31 17:37:15 +0200
commit900b67c01d86a44b75dbcde41ce82ecf46d82001 (patch)
tree67bd3325f91a5158e077401c6dd23eecb90e00ce
parent06fdc82f60a35ec3e2be34e1ace7431643a61499 (diff)
downloadpoezio-900b67c01d86a44b75dbcde41ce82ecf46d82001.tar.gz
poezio-900b67c01d86a44b75dbcde41ce82ecf46d82001.tar.bz2
poezio-900b67c01d86a44b75dbcde41ce82ecf46d82001.tar.xz
poezio-900b67c01d86a44b75dbcde41ce82ecf46d82001.zip
get_tab_by_name() should specify a tab type whenever possible
For example, a tab can be named muc.example.com, if you do /list muc.example.com. If you then do /join muc.example.com, the error handler needs to get the correct tab (the MucTab, not the MucListTab previously opened). This commit fixes the above issue (a traceback), and maybe some others like that.
-rw-r--r--src/core/core.py2
-rw-r--r--src/core/handlers.py8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/core/core.py b/src/core/core.py
index 2e7a3c64..75f914f8 100644
--- a/src/core/core.py
+++ b/src/core/core.py
@@ -1219,7 +1219,7 @@ class Core(object):
tab.activate(reason=reason)
def on_user_changed_status_in_private(self, jid, msg):
- tab = self.get_tab_by_name(jid)
+ tab = self.get_tab_by_name(jid, tabs.ChatTab)
if tab: # display the message in private
tab.add_message(msg, typ=2)
diff --git a/src/core/handlers.py b/src/core/handlers.py
index 4ec56a0b..56239274 100644
--- a/src/core/handlers.py
+++ b/src/core/handlers.py
@@ -41,7 +41,7 @@ def on_session_start_features(self, _):
if not iq:
return
features = iq['disco_info']['features']
- rostertab = self.get_tab_by_name('Roster')
+ rostertab = self.get_tab_by_name('Roster', tabs.RosterInfoTab)
rostertab.check_blocking(features)
if (config.get('enable_carbons', True) and
'urn:xmpp:carbons:2' in features):
@@ -984,8 +984,8 @@ def on_receipt(self, message):
if not msg_id:
return
- conversation = self.get_tab_by_name(jid)
- conversation = conversation or self.get_tab_by_name(jid.bare)
+ conversation = self.get_tab_by_name(jid, tabs.ChatTab)
+ conversation = conversation or self.get_tab_by_name(jid.bare, tabs.ChatTab)
if not conversation:
return
@@ -1019,7 +1019,7 @@ def room_error(self, error, room_name):
"""
Display the error in the tab
"""
- tab = self.get_tab_by_name(room_name)
+ tab = self.get_tab_by_name(room_name, tabs.MucTab)
error_message = self.get_error_message(error)
tab.add_message(error_message, highlight=True, nickname='Error',
nick_color=get_theme().COLOR_ERROR_MSG, typ=2)