[at-spi2-atk] Properly clean up when timing out on a keystroke listener



commit 548478747b2493842b736b4a1e2bc6bb3015f790
Author: Mike Gorse <mgorse suse com>
Date:   Wed Sep 4 22:29:15 2013 -0500

    Properly clean up when timing out on a keystroke listener
    
    If we time out waiting for a keystroke listener, then exit the main
    loop, and reset the DBus connections' main loop contexts becak to the
    default loop.
    
    https://bugzilla.gnome.org/show_big.cgi?id=707218

 atk-adaptor/event.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c
index 8e8dd89..d8a74cc 100644
--- a/atk-adaptor/event.c
+++ b/atk-adaptor/event.c
@@ -88,8 +88,8 @@ timeout_reply (void *data)
 {
   SpiReentrantCallClosure *closure = data;
 
-  if (!dbus_connection_get_is_connected (closure->bus))
-    g_main_loop_quit (closure->loop);
+  switch_main_context (NULL);
+  g_main_loop_quit (closure->loop);
   closure->timeout = -1;
   return FALSE;
 }
@@ -121,6 +121,8 @@ send_and_allow_reentry (DBusConnection * bus, DBusMessage * message)
     g_source_destroy (source);
   
   g_main_loop_unref (closure.loop);
+  if (!closure.reply)
+    dbus_pending_call_cancel (pending);
   return closure.reply;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]