forked from AuroraMiddleware/gtk
gtkapplication-dbus: use application id instead of prgname for SM
gnome-session takes an "app id" for client and inhibitor registration, This app id is supposed to be a desktop file id (complete with the .desktop extension), but gtk+ currently uses g_get_prgname (). This commit changes gtkapplication to use the application id instead, which is a much more natural fit. gnome-session is going to be updated to stop using the .desktop extension, too, so everything is consistent. https://bugzilla.gnome.org/show_bug.cgi?id=763106
This commit is contained in:
parent
fdde27ea9c
commit
046a4a6e0f
@ -153,17 +153,14 @@ gtk_application_impl_dbus_startup (GtkApplicationImpl *impl,
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* FIXME: should we reuse the D-Bus application id here ? */
|
||||
dbus->app_id = g_strdup (g_get_prgname ());
|
||||
|
||||
if (!register_session)
|
||||
goto out;
|
||||
|
||||
g_debug ("Registering client '%s' '%s'", dbus->app_id, client_id);
|
||||
g_debug ("Registering client '%s' '%s'", dbus->application_id, client_id);
|
||||
|
||||
res = g_dbus_proxy_call_sync (dbus->sm_proxy,
|
||||
"RegisterClient",
|
||||
g_variant_new ("(ss)", dbus->app_id, client_id),
|
||||
g_variant_new ("(ss)", dbus->application_id, client_id),
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
G_MAXINT,
|
||||
NULL,
|
||||
@ -391,7 +388,7 @@ gtk_application_impl_dbus_inhibit (GtkApplicationImpl *impl,
|
||||
res = g_dbus_proxy_call_sync (dbus->sm_proxy,
|
||||
"Inhibit",
|
||||
g_variant_new ("(s@usu)",
|
||||
dbus->app_id,
|
||||
dbus->application_id,
|
||||
window ? gtk_application_impl_dbus_get_window_system_id (dbus, window) : g_variant_new_uint32 (0),
|
||||
reason,
|
||||
flags),
|
||||
@ -517,7 +514,6 @@ gtk_application_impl_dbus_finalize (GObject *object)
|
||||
|
||||
g_free (dbus->app_menu_path);
|
||||
g_free (dbus->menubar_path);
|
||||
g_free (dbus->app_id);
|
||||
|
||||
G_OBJECT_CLASS (gtk_application_impl_dbus_parent_class)->finalize (object);
|
||||
}
|
||||
|
@ -133,7 +133,6 @@ typedef struct
|
||||
guint menubar_id;
|
||||
|
||||
/* Session management... */
|
||||
gchar *app_id; /* actually prgname... */
|
||||
GDBusProxy *sm_proxy;
|
||||
GDBusProxy *client_proxy;
|
||||
gchar *client_path;
|
||||
|
Loading…
Reference in New Issue
Block a user