From bf2bd33bd3538c3dbb4fa42ce46242435f98d8ec Mon Sep 17 00:00:00 2001
From: Florent Le Coz <louiz@louiz.org>
Date: Sat, 16 Apr 2011 22:55:30 +0200
Subject: Idem

---
 src/core.py | 11 +++++++++--
 src/tabs.py |  4 ++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/core.py b/src/core.py
index d6dc4204..557b29b0 100644
--- a/src/core.py
+++ b/src/core.py
@@ -508,6 +508,8 @@ class Core(object):
         logger.log_message(jid.full.replace('/', '\\'), nick_from, body)
         if conversation is self.current_tab():
             self.refresh_window()
+        else:
+            self.current_tab().tab_win.refresh()
 
     def focus_tab_named(self, tab_name):
         for tab in self.tabs:
@@ -555,6 +557,7 @@ class Core(object):
         logger.log_message(jid.bare, remote_nick, body)
         if self.current_tab() is not conversation:
             conversation.set_color_state(theme.COLOR_TAB_PRIVATE)
+            self.current_tab().tab_win.refresh()
         else:
             self.refresh_window()
 
@@ -748,6 +751,11 @@ class Core(object):
         self.current_tab().refresh()
         self.doupdate()
 
+    def refresh_tab_win(self):
+        self.current_tab().tab_win.refresh()
+        self.current_tab().input.refresh()
+        self.doupdate()
+
     def add_tab(self, new_tab, focus=False):
         """
         Appends the new_tab in the tab list and
@@ -946,8 +954,7 @@ class Core(object):
             self.add_message_to_text_buffer(room, body, date, nick_from)
             if tab is self.current_tab():
                 tab.text_win.refresh(tab._room)
-                tab.input.refresh()
-                self.doupdate()
+            self.refresh_tab_win()
 
     def add_message_to_text_buffer(self, room, txt, time=None, nickname=None):
         """
diff --git a/src/tabs.py b/src/tabs.py
index d529868d..7f9e26f9 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -986,6 +986,8 @@ class PrivateTab(ChatTab):
         msg.send()
         self.core.add_message_to_text_buffer(self.get_room(), line, None, self.core.own_nick)
         logger.log_message(JID(self.get_name()).bare, self.core.own_nick, line)
+        self.text_win.refresh(self._room)
+        self.input.refresh()
 
     def command_unquery(self, arg):
         """
@@ -1419,6 +1421,8 @@ class ConversationTab(ChatTab):
         msg.send()
         self.core.add_message_to_text_buffer(self.get_room(), line, None, self.core.own_nick)
         logger.log_message(JID(self.get_name()).bare, self.core.own_nick, line)
+        self.text_win.refresh(self._room)
+        self.input.refresh()
 
     def command_unquery(self, arg):
         self.core.close_tab()
-- 
cgit v1.2.3