aboutsummaryrefslogtreecommitdiffstats
path: root/lib/events_glib.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2011-12-19 21:46:01 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2011-12-19 21:46:01 +0100
commit9ff0c256ae51f2039abc36940618a5d9fe5e6ba7 (patch)
tree6bcf6d92bf5dc62c45311869ec68a2dfef20e730 /lib/events_glib.c
parent5a48afdf1a4dafcda8eecf42fc7cabb12ee48b40 (diff)
Catch condition=G_IO_NVAL from glib's event handler, which should prevent
some crashes on unclean shutdowns of connections.
Diffstat (limited to 'lib/events_glib.c')
-rw-r--r--lib/events_glib.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/events_glib.c b/lib/events_glib.c
index 3fafc872..8f53fbbf 100644
--- a/lib/events_glib.c
+++ b/lib/events_glib.c
@@ -74,6 +74,9 @@ static gboolean gaim_io_invoke(GIOChannel *source, GIOCondition condition, gpoin
GaimIOClosure *closure = data;
b_input_condition gaim_cond = 0;
gboolean st;
+
+ if (condition & G_IO_NVAL)
+ return FALSE;
if (condition & GAIM_READ_COND)
gaim_cond |= B_EV_IO_READ;