avoid a crash when receiving a message from someone not in our roster

parent d94efc30
......@@ -928,8 +928,7 @@ class Gui(object):
is_jid(self.current_tab().get_name()):
room += '@%s' % jid_get_domain(self.current_tab().get_name())
else: # no server could be found, print a message and return
# self.add_message_to_text_buffer(self.current_room(), _("You didn't specify a server for the room you want to join"))
# TODO INFO
self.information(_("You didn't specify a server for the room you want to join"), 'Error')
return
r = self.get_room_by_name(room)
if len(args) == 2: # a password is provided
......
......@@ -257,16 +257,22 @@ class ConversationInfoWin(InfoWin):
def refresh(self, room, contact):
if not self.visible:
return
# contact can be None, if we receive a message
# from someone not in our roster. In this case, we display
# only the maximum information from the message we can get.
g_lock.acquire()
self.win.erase()
self.write_room_name(contact)
self.write_room_name(contact, room)
self.print_scroll_position(room)
self.finish_line(theme.COLOR_INFORMATION_BAR)
self.win.refresh()
g_lock.release()
def write_room_name(self, contact):
txt = '%s' % contact.get_jid().bare
def write_room_name(self, contact, room):
if not contact:
txt = '%s' % room.name
else:
txt = '%s' % contact.get_jid().bare
self.addnstr(txt, len(txt), curses.color_pair(theme.COLOR_INFORMATION_BAR))
class MucInfoWin(InfoWin):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment