From 8b1487c3c350468bd5443d4c2a97898784e5760e Mon Sep 17 00:00:00 2001
From: "louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13"
 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13>
Date: Wed, 17 Feb 2010 03:47:54 +0000
Subject: fixed #1176 much better when the userlist needs to be refreshed

---
 src/gui.py    | 5 ++---
 src/window.py | 3 +++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gui.py b/src/gui.py
index 1ef00785..a55e6cc7 100644
--- a/src/gui.py
+++ b/src/gui.py
@@ -234,6 +234,7 @@ class Gui(object):
 
     def main_loop(self, stdscr):
         while 1:
+            stdscr.leaveok(1)
             curses.doupdate()
             try:
                 key = stdscr.getkey()
@@ -397,8 +398,6 @@ class Gui(object):
         if room == self.current_room() and msg:
             self.window.text_win.add_line(room, (datetime.now(), msg))
             self.window.text_win.refresh(room.name)
-            self.window.user_win.refresh(room.users)
-            self.window.text_win.refresh()
             self.window.input.refresh()
         curses.doupdate()
 
@@ -406,7 +405,6 @@ class Gui(object):
         line = self.window.input.get_text()
         self.window.input.clear_text()
         self.window.input.refresh()
-        curses.doupdate()
         if line == "":
             return
         if line.startswith('/'):
@@ -422,6 +420,7 @@ class Gui(object):
                 self.window.text_win.refresh(self.current_room().name)
         elif self.current_room().name != 'Info':
             self.muc.send_message(self.current_room().name, line)
+        curses.doupdate()
 	self.window.input.refresh()
 
     def command_help(self, args):
diff --git a/src/window.py b/src/window.py
index 301cc68c..196446af 100644
--- a/src/window.py
+++ b/src/window.py
@@ -27,6 +27,7 @@ class Win(object):
     def _resize(self, height, width, y, x, parent_win):
         self.height, self.width, self.x, self.y = height, width, x, y
         self.win = parent_win.subwin(height, width, y, x)
+        self.win.leaveok(1)
 
     def refresh(self):
         self.win.noutrefresh()
@@ -216,6 +217,7 @@ class TextWin(object):
         newwin = Win(self.height, self.width, self.y, self.x, self.parent_win)
         newwin.win.idlok(True)
         newwin.win.scrollok(True)
+        newwin.win.leaveok(1)
         self.wins[winname] = newwin
 
     def resize(self, height, width, y, x, stdscr, visible):
@@ -232,6 +234,7 @@ class Input(Win):
     """
     def __init__(self, height, width, y, x, stdscr, visible):
         Win.__init__(self, height, width, y, x, stdscr)
+        self.win.leaveok(0)
         self.visible = visible
         self.history = []
         self.text = u''
-- 
cgit v1.2.3