[glib] Use g_queue_free_full() convenience function.
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Use g_queue_free_full() convenience function.
- Date: Tue, 10 Jan 2012 00:42:09 +0000 (UTC)
commit 0ed2cdb0d926e28188f1ac924c8216dfa9db24a6
Author: Ravi Sankar Guntur <ravi g samsung com>
Date: Thu Jan 5 10:51:03 2012 +0530
Use g_queue_free_full() convenience function.
https://bugzilla.gnome.org/show_bug.cgi?id=667331
Signed-off-by: Ravi Sankar Guntur <ravi g samsung com>
gio/gdbusprivate.c | 12 +++---------
glib/gmain.c | 22 +++++++++++-----------
2 files changed, 14 insertions(+), 20 deletions(-)
---
diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c
index 5b3b77d..3aa71cf 100644
--- a/gio/gdbusprivate.c
+++ b/gio/gdbusprivate.c
@@ -465,13 +465,9 @@ _g_dbus_worker_unref (GDBusWorker *worker)
if (worker->read_fd_list != NULL)
g_object_unref (worker->read_fd_list);
- g_queue_foreach (worker->received_messages_while_frozen, (GFunc) g_object_unref, NULL);
- g_queue_free (worker->received_messages_while_frozen);
-
+ g_queue_free_full (worker->received_messages_while_frozen, (GDestroyNotify) g_object_unref);
g_mutex_clear (&worker->write_lock);
- g_queue_foreach (worker->write_queue, (GFunc) message_to_write_data_free, NULL);
- g_queue_free (worker->write_queue);
-
+ g_queue_free_full (worker->write_queue, (GDestroyNotify) message_to_write_data_free);
g_free (worker->read_buffer);
g_free (worker);
@@ -1411,9 +1407,7 @@ iostream_close_cb (GObject *source_object,
g_clear_error (&error);
/* all messages queued for sending are discarded */
- g_queue_foreach (send_queue, (GFunc) message_to_write_data_free, NULL);
- g_queue_free (send_queue);
-
+ g_queue_free_full (send_queue, (GDestroyNotify) message_to_write_data_free);
/* all queued flushes fail */
error = g_error_new (G_IO_ERROR, G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
diff --git a/glib/gmain.c b/glib/gmain.c
index 60b4404..40bd829 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -594,19 +594,19 @@ g_main_context_default (void)
}
static void
-free_context_stack (gpointer data)
+free_context (gpointer data)
{
- GQueue *stack = data;
- GMainContext *context;
+ GMainContext *context = data;
- while (!g_queue_is_empty (stack))
- {
- context = g_queue_pop_head (stack);
- g_main_context_release (context);
- if (context)
- g_main_context_unref (context);
- }
- g_queue_free (stack);
+ g_main_context_release (context);
+ if (context)
+ g_main_context_unref (context);
+}
+
+static void
+free_context_stack (gpointer data)
+{
+ g_queue_free_full((GQueue *) data, (GDestroyNotify) free_context);
}
static GPrivate thread_context_stack = G_PRIVATE_INIT (free_context_stack);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]