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
{
SpiReentrantCallClosure *closure = 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;
}
closure->timeout = -1;
return FALSE;
}
g_source_destroy (source);
g_main_loop_unref (closure.loop);
g_source_destroy (source);
g_main_loop_unref (closure.loop);
+ if (!closure.reply)
+ dbus_pending_call_cancel (pending);