Blob Blame History Raw
diff --git a/loudmouth/lm-connection.c b/loudmouth/lm-connection.c
index 74ed958..fe08b68 100644
--- a/loudmouth/lm-connection.c
+++ b/loudmouth/lm-connection.c
@@ -355,11 +355,13 @@ _lm_connection_succeeded (LmConnectData *connect_data)
 
 	connection = connect_data->connection;
 	
+	g_assert (connection->io_watch_connect != 0);
 	if (connection->io_watch_connect != 0) {
 		GSource *source;
 
 		source = g_main_context_find_source_by_id (connection->context,
 							   connection->io_watch_connect);
+		g_assert (source != NULL);
 		if (source) {
 			g_source_destroy (source);
 		}
@@ -493,11 +495,13 @@ _lm_connection_failed_with_error (LmConnectData *connect_data, int error)
 	
 	connect_data->current_addr = connect_data->current_addr->ai_next;
 	
+	g_assert (connection->io_watch_connect != 0);
 	if (connection->io_watch_connect != 0) {
 		GSource *source;
 
 		source = g_main_context_find_source_by_id (connection->context,
 							   connection->io_watch_connect);
+		g_assert (source != NULL);
 		if (source) {
 			g_source_destroy (source);
 		}
@@ -560,7 +564,6 @@ connection_connect_cb (GIOChannel   *source,
 
 			_lm_connection_failed_with_error (connect_data, err);
 
-			connection->io_watch_connect = 0;
 			return FALSE;
 		}
 	}
@@ -590,7 +593,6 @@ connection_connect_cb (GIOChannel   *source,
 				_lm_sock_close (connect_data->fd);
 				_lm_connection_failed_with_error (connect_data, err);
 
-				connection->io_watch_connect = 0;
 				return FALSE;
 			}
 		}