From b2ffeb7c3e6813d4d5ada0dfda8dfca5b0662879 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Mon, 3 Oct 2011 15:42:30 +0000 Subject: [PATCH] try to not stomp all over ncurses' WINCH handler (Jesse Luehrs ) git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@604 db0b04b0-f4d1-0310-9a6d-de3e77497b0e --- dgamelaunch.c | 6 ++++-- dgl-common.c | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dgamelaunch.c b/dgamelaunch.c index d377df4..27bab74 100644 --- a/dgamelaunch.c +++ b/dgamelaunch.c @@ -100,6 +100,7 @@ extern int yyparse (); char * __progname; int g_idle_alarm_enabled = 0; +void (*g_chain_winch)(int); #ifndef USE_SQLITE3 int f_num = 0; @@ -2535,8 +2536,6 @@ main (int argc, char** argv) signal (SIGQUIT, catch_sighup); signal (SIGTERM, catch_sighup); - signal(SIGWINCH, sigwinch_func); - (void) tcgetattr (0, &tt); if (-1 == ioctl (0, TIOCGWINSZ, (char *) &win) || win.ws_row < 4 || win.ws_col < 4) /* Rudimentary validity check */ @@ -2650,6 +2649,9 @@ main (int argc, char** argv) } initcurses (); + + g_chain_winch = signal(SIGWINCH, sigwinch_func); + term_resize_check(); idle_alarm_set_enabled(1); diff --git a/dgl-common.c b/dgl-common.c index d586063..798fc28 100644 --- a/dgl-common.c +++ b/dgl-common.c @@ -18,6 +18,7 @@ extern FILE* yyin; extern int yyparse (); +extern void (*g_chain_winch)(int); /* Data structures */ struct dg_config **myconfig = NULL; @@ -74,6 +75,7 @@ sigwinch_func(int sig) { signal(SIGWINCH, sigwinch_func); curses_resize = 1; + g_chain_winch(sig); } void