DBUS_PATH_DBUS,
DBUS_INTERFACE_DBUS);
+#if DBUS_VERSION >= 60
if (!org_freedesktop_DBus_request_name (driver_proxy,
APPLICATION_SERVICE_NAME,
+ DBUS_NAME_FLAG_DO_NOT_QUEUE,
+ &request_name_result, &err)) {
+ g_warning ("Service registration failed.");
+ g_clear_error (&err);
+ }
+#else
+ if (!org_freedesktop_DBus_request_name (driver_proxy,
+ APPLICATION_SERVICE_NAME,
0, &request_name_result, &err)) {
g_warning ("Service registration failed.");
g_clear_error (&err);
}
+#endif
if (request_name_result == DBUS_REQUEST_NAME_REPLY_EXISTS) {
return FALSE;
dbus_g_object_type_install_info (EV_TYPE_APPLICATION,
&dbus_glib_ev_application_object_info);
#endif
-#ifdef ENABLE_COMICS
- GtkFileFilter *comics_filter;
-#endif
dbus_g_connection_register_g_object (connection,
"/org/gnome/evince/Evince",
EvWindow *window = EV_WINDOW (l->data);
const char *window_uri = ev_window_get_uri (window);
- if (window_uri && strcmp (window_uri, uri) == 0) {
+ if (window_uri && strcmp (window_uri, uri) == 0 && !ev_window_is_empty (window)) {
uri_window = window;
break;
}
application->recent_model = NULL;
}
+ g_free (application->last_chooser_uri);
g_object_unref (application);
+
gtk_main_quit ();
}
application->toolbars_file, "1.0");
}
+void ev_application_set_chooser_uri (EvApplication *application, gchar *uri)
+{
+ g_free (application->last_chooser_uri);
+ application->last_chooser_uri = g_strdup (uri);
+}
+
+const gchar* ev_application_get_chooser_uri (EvApplication *application)
+{
+ return application->last_chooser_uri;
+}