[evince] [shell] Flush DBus connection after emitting closed signal for the last window
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evince] [shell] Flush DBus connection after emitting closed signal for the last window
- Date: Mon, 12 Jul 2010 18:46:51 +0000 (UTC)
commit 167635647c6f1c6077cdb159755e5e15e1c50f82
Author: Carlos Garcia Campos <carlosgc gnome org>
Date: Mon Jul 12 20:18:41 2010 +0200
[shell] Flush DBus connection after emitting closed signal for the last window
shell/ev-window.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/shell/ev-window.c b/shell/ev-window.c
index 168ed67..c7e9c6d 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -6261,10 +6261,6 @@ ev_window_emit_closed (EvWindow *window)
if (!connection)
return;
- /* TODO: figure out if this is the last window and use
- * g_dbus_connection_flush_sync() to make sure the signal
- * is emitted.
- */
g_dbus_connection_emit_signal (connection,
NULL,
window->priv->dbus_object_path,
@@ -6276,7 +6272,15 @@ ev_window_emit_closed (EvWindow *window)
g_printerr ("Failed to emit DBus signal Closed: %s\n",
error->message);
g_error_free (error);
+
+ return;
}
+
+ /* If this is the last window call g_dbus_connection_flush_sync()
+ * to make sure the signal is emitted.
+ */
+ if (ev_application_get_n_windows (EV_APP) == 1)
+ g_dbus_connection_flush_sync (connection, NULL, NULL);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]