changeset 17058:a19b8d71f868

Do not process clicks on no widget.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 11 May 2007 21:06:47 +0000
parents 413c957e7c44
children f1abdde52538
files finch/libgnt/gntmain.c
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/finch/libgnt/gntmain.c	Fri May 11 20:10:43 2007 +0000
+++ b/finch/libgnt/gntmain.c	Fri May 11 21:06:47 2007 +0000
@@ -144,7 +144,10 @@
 		event = GNT_MOUSE_UP;
 	} else
 		return FALSE;
-	
+
+	if (!widget)
+		return FALSE;
+
 	if (gnt_wm_process_click(wm, event, x, y, widget))
 		return TRUE;
 	
@@ -348,6 +351,10 @@
 	gnt_wm_raise_window(wm, win);
 }
 
+#ifdef SIGWINCH
+static void (*org_winch_handler)(int);
+#endif
+
 static void
 sighandler(int sig)
 {
@@ -357,6 +364,7 @@
 		werase(stdscr);
 		wrefresh(stdscr);
 		g_idle_add(refresh_screen, NULL);
+		org_winch_handler(sig);
 		signal(SIGWINCH, sighandler);
 		break;
 #endif
@@ -434,7 +442,7 @@
 	wrefresh(stdscr);
 
 #ifdef SIGWINCH
-	signal(SIGWINCH, sighandler);
+	org_winch_handler = signal(SIGWINCH, sighandler);
 #endif
 	signal(SIGCHLD, sighandler);
 	signal(SIGINT, sighandler);