From eaced10c1667d0ddf8cf41aebf060a6c2be7173b Mon Sep 17 00:00:00 2001 From: mathieui Date: Thu, 10 Nov 2011 15:26:34 +0100 Subject: Also, do not crash when receiving a message from someone who is not a contact --- src/tabs.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/tabs.py b/src/tabs.py index f037a368..5b9c9fe8 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -2000,10 +2000,13 @@ class ConversationTab(ChatTab): def on_lose_focus(self): contact = roster.get_contact_by_jid(self.get_name()) jid = JID(self.get_name()) - if jid.resource: - resource = contact.get_resource_by_fulljid(jid.full) + if contact: + if jid.resource: + resource = contact.get_resource_by_fulljid(jid.full) + else: + resource = contact.get_highest_priority_resource() else: - resource = contact.get_highest_priority_resource() + resource = None self.state = 'normal' self.text_win.remove_line_separator() self.text_win.add_line_separator() @@ -2014,10 +2017,14 @@ class ConversationTab(ChatTab): def on_gain_focus(self): contact = roster.get_contact_by_jid(self.get_name()) jid = JID(self.get_name()) - if jid.resource: - resource = contact.get_resource_by_fulljid(jid.full) + if contact: + if jid.resource: + resource = contact.get_resource_by_fulljid(jid.full) + else: + resource = contact.get_highest_priority_resource() else: - resource = contact.get_highest_priority_resource() + resource = None + self.state = 'current' curses.curs_set(1) if config.get('send_chat_states', 'true') == 'true' and not self.input.get_text() or not self.input.get_text().startswith('//'): -- cgit v1.2.3