summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebarshi Ray <debarshir@gnome.org>2015-10-02 16:00:06 +0200
committerDebarshi Ray <debarshir@gnome.org>2015-10-02 17:10:30 +0200
commit79995b6789c89dc9bbe8514428045e8a151c78f6 (patch)
treeaa8aff1efae901ade00d0d8a15291113a11fa368
parent805133bd6f306a720524b2bcbdab14ccac0800ad (diff)
downloadlibgdata-79995b6789c89dc9bbe8514428045e8a151c78f6.tar.gz
core: Don't duplicate the received chunks in GDataDownloadStream
We were accumulating SoupMessage::got-chunk connections whenever the network thread was restarted. This meant that we were pushing the same chunks of data multiple times into the GDataBuffer. https://bugzilla.gnome.org/show_bug.cgi?id=755976
-rw-r--r--gdata/gdata-download-stream.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdata/gdata-download-stream.c b/gdata/gdata-download-stream.c
index cddf8926..b43d67d7 100644
--- a/gdata/gdata-download-stream.c
+++ b/gdata/gdata-download-stream.c
@@ -906,6 +906,8 @@ reset_network_thread (GDataDownloadStream *self)
if (priv->message != NULL) {
soup_session_cancel_message (priv->session, priv->message, SOUP_STATUS_CANCELLED);
+ g_signal_handlers_disconnect_by_func (priv->message, got_headers_cb, self);
+ g_signal_handlers_disconnect_by_func (priv->message, got_chunk_cb, self);
}
priv->offset = 0;