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;
}
}