* Copyright 2008-2011 Novell, Inc.
*
* This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
+ * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
+ * version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU Library General Public
+ * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#include <stdio.h>
const char *destination = dbus_message_get_destination (message);
struct timeval tv;
DBusMessage *ret;
+ static gboolean in_dispatch = FALSE;
if (unique_name && destination &&
strcmp (destination, unique_name) != 0)
{
ret = dbus_connection_send_with_reply_and_block (bus, message,
dbind_timeout, error);
- if (g_main_depth () == 0)
- while (dbus_connection_dispatch (bus) == DBUS_DISPATCH_DATA_REMAINS);
+ if (g_main_depth () == 0 && !in_dispatch)
+ {
+ in_dispatch = TRUE;
+ while (dbus_connection_dispatch (bus) == DBUS_DISPATCH_DATA_REMAINS);
+ in_dispatch = FALSE;
+ }
return ret;
}
closure = g_new0 (SpiReentrantCallClosure, 1);
closure->reply = NULL;
- atspi_dbus_connection_setup_with_g_main(bus, NULL);
if (!dbus_connection_send_with_reply (bus, message, &pending, dbind_timeout)
|| !pending)
{
if (dbus_message_get_type (reply) == DBUS_MESSAGE_TYPE_ERROR)
{
- const char *name = dbus_message_get_error_name (reply);
goto out;
}
/* demarshal */
/*---------------------------------------------------------------------------*/
+/* TODO: opt_error is unused; should be removed */
dbus_bool_t
dbind_emit_signal_va (DBusConnection *cnx,
const char *path,
dbus_bool_t success = FALSE;
DBusMessage *msg = NULL;
DBusMessageIter iter;
- DBusError *err, real_err;
const char *p;
- dbus_error_init (&real_err);
-
- if (opt_error)
- err = opt_error;
- else {
- err = &real_err;
- }
-
msg = dbus_message_new_signal (path, interface, signal);
if (!msg)
goto out;
if (msg)
dbus_message_unref (msg);
- if (dbus_error_is_set (&real_err))
- dbus_error_free (&real_err);
-
return success;
}