[Spice-devel] [PATCH spice-gtk 01/15] Revert "channel-main: Fix dangling references to freed file-xfer-tasks on agent cancel"
Hans de Goede
hdegoede at redhat.com
Sat Mar 9 03:06:21 PST 2013
The fix from Commit 19313a133af0d2404b29914b5937219127ad455b is incomplete,
see the commit msg of the next commit which has a different, better fix,
for more info.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
gtk/channel-main.c | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/gtk/channel-main.c b/gtk/channel-main.c
index 2039a8a..a1e1e1d 100644
--- a/gtk/channel-main.c
+++ b/gtk/channel-main.c
@@ -1517,31 +1517,17 @@ static void file_xfer_task_free(SpiceFileXferTask *task)
}
/* main context */
-static void file_xfer_remove_flush(gpointer data, gpointer user_data)
-{
- GAsyncResult *res = G_ASYNC_RESULT(data);
- SpiceFileXferTask *task = user_data;
- SpiceMainChannelPrivate *c = task->channel->priv;
-
- if (g_async_result_get_user_data(res) == task) {
- c->flushing = g_slist_remove(c->flushing, res);
- g_object_unref(res);
- }
-}
-
static void file_xfer_close_cb(GObject *object,
GAsyncResult *close_res,
gpointer user_data)
{
GSimpleAsyncResult *res;
SpiceFileXferTask *task;
- SpiceMainChannelPrivate *c;
GInputStream *stream = G_INPUT_STREAM(object);
GError *error = NULL;
stream = G_INPUT_STREAM(object);
task = user_data;
- c = task->channel->priv;
g_input_stream_close_finish(stream, close_res, &error);
if (error) {
@@ -1565,9 +1551,6 @@ static void file_xfer_close_cb(GObject *object,
g_simple_async_result_complete_in_idle(res);
g_object_unref(res);
- /* On agent cancel there may be pending flushes referencing this task */
- g_slist_foreach(c->flushing, file_xfer_remove_flush, task);
-
file_xfer_task_free(task);
}
--
1.8.1.4
More information about the Spice-devel
mailing list