summary refs log tree commit diff
path: root/ui.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-02-02 02:28:14 -0500
committerJune McEnroe <june@causal.agency>2020-02-02 02:28:14 -0500
commit09754ed91243f497065d888d19fc7c3c63ce19a9 (patch)
tree75e2aec37d8532a5f566410801956d45740b277d /ui.c
parentWrap before the very edge of the screen (diff)
downloadcatgirl-09754ed91243f497065d888d19fc7c3c63ce19a9.tar.gz
catgirl-09754ed91243f497065d888d19fc7c3c63ce19a9.zip
Call reset_shell_mode on err
This restores the terminal but doesn't clear the screen, so the error
stays visible.
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui.c b/ui.c
index 11ee426..90ba726 100644
--- a/ui.c
+++ b/ui.c
@@ -124,6 +124,11 @@ static struct Window *windowFor(size_t id) {
 	return window;
 }
 
+static void errExit(int eval) {
+	(void)eval;
+	reset_shell_mode();
+}
+
 void uiInit(void) {
 	initscr();
 	cbreak();
@@ -131,6 +136,7 @@ void uiInit(void) {
 	termInit();
 	termNoFlow();
 	def_prog_mode();
+	err_set_exit(errExit);
 	colorInit();
 	status = newwin(1, COLS, 0, 0);
 	input = newpad(1, InputCols);