From d5a013dd6a35cce610add92767335e0daafc3f9c Mon Sep 17 00:00:00 2001
From: Florent Le Coz <louiz@louiz.org>
Date: Sun, 25 Sep 2011 19:36:08 +0200
Subject: Fixes the refresh issue when the user of a private conversation
 leaves/joins

---
 src/tabs.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/tabs.py b/src/tabs.py
index f46087fd..f25006a8 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -1151,22 +1151,25 @@ class PrivateTab(ChatTab):
         """
         The user left the associated MUC
         """
+        self.deactivate()
         if not status_message:
             self.get_room().add_message(_('\x191}%(spec)s \x193}%(nick)s\x195} has left the room') % {'nick':from_nick.replace('"', '\\"'), 'spec':get_theme().CHAR_QUIT.replace('"', '\\"')})
         else:
             self.get_room().add_message(_('\x191}%(spec)s \x193}%(nick)s\x195} has left the room (%(status)s)"') % {'nick':from_nick.replace('"', '\\"'), 'spec':get_theme().CHAR_QUIT, 'status': status_message.replace('"', '\\"')})
-        self.deactivate()
-        self.refresh()
-        self.core.doupdate()
+        if self.core.current_tab() is self:
+            self.refresh()
+            self.core.doupdate()
 
     def user_rejoined(self, nick):
         """
         The user (or at least someone with the same nick) came back in the MUC
         """
-        self.get_room().add_message('\x194}%(spec)s \x193}%(nick)s\x195} joined the room' % {'nick':nick, 'spec':get_theme().CHAR_JOIN})
         self.activate()
-        self.refresh()
-        self.core.doupdate()
+        self.get_room().add_message('\x194}%(spec)s \x193}%(nick)s\x195} joined the room' % {'nick':nick, 'spec':get_theme().CHAR_JOIN})
+        if self.core.current_tab() is self:
+            self.refresh()
+            self.core.doupdate()
+
 
     def activate(self):
         self.on = True
-- 
cgit v1.2.3