diff options
| author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2013-03-12 15:14:48 +0100 |
|---|---|---|
| committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-09-12 16:16:24 +0100 |
| commit | 118dbf7c21ec88c85c1d527dfe1f6d3e704e9830 (patch) | |
| tree | 78b7b20001d97146c0874781768188beb33596a5 | |
| parent | 7504f033d03bf8d36ed80229e7e4dcb88056e5dc (diff) | |
file-transfer-chan: don't call start_file_transfer() after disposal
(cherry picked from commit 9ea571eca7d12648776c7179255711dbdd9aac25)
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
| -rw-r--r-- | tests/lib/file-transfer-chan.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/lib/file-transfer-chan.c b/tests/lib/file-transfer-chan.c index ee0593417..ae6b1c5d0 100644 --- a/tests/lib/file-transfer-chan.c +++ b/tests/lib/file-transfer-chan.c @@ -83,6 +83,8 @@ struct _TpTestsFileTransferChannelPrivate { gchar *unix_tmpdir; guint connection_id; TpSocketAccessControl access_control; + + guint timer_id; }; static void @@ -137,6 +139,12 @@ dispose (GObject *object) { TpTestsFileTransferChannel *self = TP_TESTS_FILE_TRANSFER_CHANNEL (object); + if (self->priv->timer_id != 0) + { + g_source_remove (self->priv->timer_id); + self->priv->timer_id = 0; + } + g_free (self->priv->content_hash); g_free (self->priv->content_type); g_free (self->priv->description); @@ -493,7 +501,7 @@ file_transfer_provide_file (TpSvcChannelTypeFileTransfer *iface, self->priv->access_control = access_control; DEBUG ("Waiting 500ms and setting state to OPEN"); - g_timeout_add (500, start_file_transfer, self); + self->priv->timer_id = g_timeout_add (500, start_file_transfer, self); // connect to self->priv->service incoming signal // when the signal returns, add x bytes per n seconds using timeout @@ -561,7 +569,7 @@ file_transfer_accept_file (TpSvcChannelTypeFileTransfer *iface, TP_FILE_TRANSFER_STATE_CHANGE_REASON_REQUESTED); DEBUG ("Waiting 500ms and setting state to OPEN"); - g_timeout_add (500, start_file_transfer, self); + self->priv->timer_id = g_timeout_add (500, start_file_transfer, self); tp_svc_channel_type_file_transfer_return_from_accept_file (context, address); |
