From c3062d493b327dc7f1f44f5f111197cf51ccf70f Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Mon, 9 Oct 2006 09:40:04 +0000
Subject: [PATCH] PrivateChatControl now hold room name so that we can draw
 banner of pm even if room control has been closed. Fixes #2527

---
 src/chat_control.py      | 7 ++-----
 src/groupchat_control.py | 3 +++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/chat_control.py b/src/chat_control.py
index 4b4592f8de..83009cb6bb 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -1019,11 +1019,8 @@ class ChatControl(ChatControlBase):
 		if self.resource:
 			name += '/' + self.resource
 		if self.TYPE_ID == message_control.TYPE_PM:
-			room_jid = self.contact.jid.split('/')[0]
-			room_ctrl = gajim.interface.msg_win_mgr.get_control(room_jid,
-				self.account)
 			name = _('%(nickname)s from room %(room_name)s') %\
-				{'nickname': name, 'room_name': room_ctrl.name}
+				{'nickname': name, 'room_name': self.room_name}
 		name = gtkgui_helpers.escape_for_pango_markup(name)
 
 		# We know our contacts nick, but if another contact has the same nick
@@ -1676,7 +1673,7 @@ class ChatControl(ChatControlBase):
 			else:
 				kind = 'print_queue'
 			self.print_conversation(data[0], kind, tim = data[3],
-						encrypted = data[4], subject = data[1], xhtml = data[7])
+				encrypted = data[4], subject = data[1], xhtml = data[7])
 			if len(data) > 6 and isinstance(data[6], int):
 				message_ids.append(data[6])
 		if message_ids:
diff --git a/src/groupchat_control.py b/src/groupchat_control.py
index faab211b0c..288c9008a7 100644
--- a/src/groupchat_control.py
+++ b/src/groupchat_control.py
@@ -95,6 +95,9 @@ class PrivateChatControl(ChatControl):
 	TYPE_ID = message_control.TYPE_PM
 
 	def __init__(self, parent_win, contact, acct):
+		room_jid = contact.jid.split('/')[0]
+		room_ctrl = gajim.interface.msg_win_mgr.get_control(room_jid, acct)
+		self.room_name = room_ctrl.name
 		ChatControl.__init__(self, parent_win, contact, acct)
 		self.TYPE_ID = 'pm'
 		self.display_names = (_('Private Chat'), _('Private Chats'))
-- 
GitLab