From 621048dede78e26bdf7431801948380499af4755 Mon Sep 17 00:00:00 2001
From: Florent Le Coz <louiz@louiz.org>
Date: Wed, 12 Jan 2011 16:53:07 +0100
Subject: Cleanly reset curses, so the term is never messed up after an exit

---
 src/core.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/core.py b/src/core.py
index dc2bd47b..104a653f 100644
--- a/src/core.py
+++ b/src/core.py
@@ -706,9 +706,10 @@ class Core(object):
         Reset terminal capabilities to what they were before ncurses
         init
         """
-        curses.curs_set(1)
+        log.debug('ALLO, reset_curses')
         curses.echo()
         curses.nocbreak()
+        curses.curs_set(1)
         curses.endwin()
 
     def refresh_window(self):
@@ -1278,6 +1279,7 @@ class Core(object):
         self.xmpp.disconnect()
         self.running = False
         self.reset_curses()
+        sys.exit()
 
     def save_config(self):
         """
@@ -1327,6 +1329,9 @@ class Core(object):
                 self.information(_("unknown command (%s)") % (command), _('Error'))
 
     def doupdate(self):
+        log.debug('doupdate doupdate')
+        if not self.running:
+            return
         self.current_tab().just_before_refresh()
         curses.doupdate()
 
-- 
cgit v1.2.3