summaryrefslogtreecommitdiff
path: root/atspi/atspi-misc.c
diff options
context:
space:
mode:
authorMike Gorse <mgorse@linux-sh69.site>2013-08-21 14:33:18 -0500
committerMike Gorse <mgorse@linux-sh69.site>2013-08-21 14:33:18 -0500
commitec424c4b688f002af44dd052f4a29feb3868921d (patch)
tree44d99f0b5a001ec9bda1478220250c4d3a96d195 /atspi/atspi-misc.c
parent94106405aad216434789e3a4c4a76c1f47a65959 (diff)
downloadat-spi2-core-ec424c4b688f002af44dd052f4a29feb3868921d.tar.gz
Dispatch dbus messages after method calls when no main loop running
If no main loop is running, then the dbus connection's incoming message queue was never emptied, so with, eg, dogtail, dbus_connection_send_with_reply_and_block would take longer and longer to look through the message queue to find a reply. This also effectively led to a memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=701145
Diffstat (limited to 'atspi/atspi-misc.c')
-rw-r--r--atspi/atspi-misc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c
index 17f9bb28..190a3eb6 100644
--- a/atspi/atspi-misc.c
+++ b/atspi/atspi-misc.c
@@ -1518,6 +1518,8 @@ get_accessibility_bus_address_dbus (void)
message,
-1,
&error);
+ if (g_main_depth () == 0)
+ while (dbus_connection_dispatch (session_bus) == DBUS_DISPATCH_DATA_REMAINS);
dbus_message_unref (message);
if (!reply)