summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-02-14 12:12:54 +0100
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-02-14 12:12:54 +0100
commit12211654baa75db13a05b5c2b3293d1378fcf7a2 (patch)
tree101041c34f3dbce852bc5b273cb5b3123fa11c73
parent6bd36fff499df665cadd9427b85714266668a4af (diff)
downloadtelepathy-idle-12211654baa75db13a05b5c2b3293d1378fcf7a2.tar.gz
idle-connection: make sure to always reset force_disconnect_id
Recent GLib raises a critical when trying to remove an invalid source.
-rw-r--r--src/idle-connection.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/idle-connection.c b/src/idle-connection.c
index 6f61e6b..9ee8840 100644
--- a/src/idle-connection.c
+++ b/src/idle-connection.c
@@ -587,6 +587,7 @@ static gboolean _finish_shutdown_idle_func(gpointer data) {
IdleConnectionPrivate *priv = self->priv;
if (priv->force_disconnect_id != 0) {
g_source_remove(priv->force_disconnect_id);
+ priv->force_disconnect_id = 0;
}
tp_base_connection_finish_shutdown(conn);
@@ -602,6 +603,7 @@ _force_disconnect (gpointer data)
IDLE_DEBUG("gave up waiting, forcibly disconnecting");
idle_server_connection_force_disconnect(priv->conn);
+ priv->force_disconnect_id = 0;
return FALSE;
}