diff options
author | Ting-Wei Lan <lantw44@gmail.com> | 2013-07-29 00:38:05 +0800 |
---|---|---|
committer | LAN-TW <lantw44@gmail.com> | 2013-07-29 00:38:05 +0800 |
commit | 641672231bef57bdb4ac3bec4260b2d8ea06969f (patch) | |
tree | 567c5053807895302c2c13ce71a0675945eb9c2d | |
parent | 805747125f2cce0fcff814f9f7fb46463f89a651 (diff) | |
download | gsoc2013-epiphany-641672231bef57bdb4ac3bec4260b2d8ea06969f.tar.gz gsoc2013-epiphany-641672231bef57bdb4ac3bec4260b2d8ea06969f.tar.zst gsoc2013-epiphany-641672231bef57bdb4ac3bec4260b2d8ea06969f.zip |
Remove unneeded memory allocation and copying
-rw-r--r-- | autoarchive/autoar-extract.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/autoarchive/autoar-extract.c b/autoarchive/autoar-extract.c index 5b4adb761..508fb72a3 100644 --- a/autoarchive/autoar-extract.c +++ b/autoarchive/autoar-extract.c @@ -1454,16 +1454,6 @@ autoar_extract_start (AutoarExtract *arextract) } static void -autoar_extract_start_async_data_free (AutoarExtractPrivate *data) -{ - g_free (data->source); - g_free (data->output); - g_free (data->buffer); - g_object_unref (data->arpref); - g_free (data); -} - -static void autoar_extract_start_async_thread (GTask *task, gpointer source_object, gpointer task_data, @@ -1472,22 +1462,18 @@ autoar_extract_start_async_thread (GTask *task, AutoarExtract *arextract = source_object; autoar_extract_run (arextract, TRUE); g_task_return_pointer (task, NULL, g_free); + g_object_unref (arextract); } void autoar_extract_start_async (AutoarExtract *arextract) { - AutoarExtractPrivate *data; GTask *task; - data = g_memdup (arextract->priv, sizeof (AutoarExtractPrivate)); - data->source = g_strdup (data->source); - data->output = g_strdup (data->output); - data->arpref = g_object_ref (data->arpref); - data->buffer = g_new (char, data->buffer_size); + g_object_ref (arextract); task = g_task_new (arextract, NULL, NULL, NULL); - g_task_set_task_data (task, data, (GDestroyNotify) autoar_extract_start_async_data_free); + g_task_set_task_data (task, NULL, NULL); g_task_run_in_thread (task, autoar_extract_start_async_thread); } |