libpurple/protocols/gg/tcpsocket.c

changeset 34442
4534c27446e8
parent 34437
ca6d1b4d24b5
child 34473
fb04c75906e0
--- a/libpurple/protocols/gg/tcpsocket.c	Mon Sep 16 14:05:48 2013 +0200
+++ b/libpurple/protocols/gg/tcpsocket.c	Tue Sep 17 11:19:26 2013 +0200
@@ -20,13 +20,15 @@
 	if (!gg_socket_manager_connected(ps, priv_gg, fd)) {
 		purple_debug_error("gg", "socket not handled");
 		purple_socket_destroy(ps);
-		return;
 	}
 
 	if (info->inpa > 0)
 		purple_input_remove(info->inpa);
-	info->inpa = purple_input_add(fd, ggp_tcpsocket_inputcond_gg_to_purple(
-		info->session->check), ggp_async_login_handler, gc);
+	if (info->session->fd < 0)
+		return;
+	info->inpa = purple_input_add(info->session->fd,
+		ggp_tcpsocket_inputcond_gg_to_purple(info->session->check),
+		ggp_async_login_handler, gc);
 }
 
 static void*

mercurial