From 89e6dfd29cfbdb92f15e8fb2bde76d94a4c5a7b3 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 26 Feb 2003 15:52:25 +0000 Subject: 2003-02-26 Alexander Larsson * configure.in: Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0 * dbus/dbus-connection.c: * dbus/dbus-connection.h: Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch. Add dbus_connection_set_wakeup_main_function and use it when queueing incoming and outgoing messages. * dbus/dbus-dataslot.c: Threadsafe usage of DBusDataSlotAllocator * dbus/dbus-message.c: (dbus_message_get_args_iter): dbus_new can fail. * dbus/dbus-server-unix.c: Add todo comment * glib/dbus-gmain.c: Implement the new wakeup functions for glib. * glib/Makefile.am: * glib/test-thread-client.c: * glib/test-thread-server.c: * glib/test-thread.h: Initial cut at some thread test code. Not really done yet. --- dbus/dbus-message.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'dbus/dbus-message.c') diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 355d6310..1a112a79 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -1725,12 +1725,15 @@ dbus_message_get_args_iter (DBusMessage *message) iter = dbus_new (DBusMessageIter, 1); - dbus_message_ref (message); + if (iter != NULL) + { + dbus_message_ref (message); + + iter->refcount = 1; + iter->message = message; + iter->pos = 0; + } - iter->refcount = 1; - iter->message = message; - iter->pos = 0; - return iter; } -- cgit