diff --git a/org.gnome.Geary.json b/org.gnome.Geary.json index 2d556511..6ca90c91 100644 --- a/org.gnome.Geary.json +++ b/org.gnome.Geary.json @@ -20,6 +20,7 @@ "--talk-name=org.freedesktop.secrets", "--talk-name=org.gnome.Contacts", "--talk-name=org.gnome.ControlCenter", + "--talk-name=org.gnome.Settings", "--talk-name=org.gnome.OnlineAccounts", "--talk-name=org.gnome.evolution.dataserver.*", "--filesystem=xdg-cache/evolution/addressbook:ro", diff --git a/src/client/accounts/accounts-manager.vala b/src/client/accounts/accounts-manager.vala index f9c2bdff..3a35093a 100644 --- a/src/client/accounts/accounts-manager.vala +++ b/src/client/accounts/accounts-manager.vala @@ -856,15 +856,27 @@ public class Accounts.Manager : GLib.Object { // This method was based on the implementation from: // https://gitlab.gnome.org/GNOME/gnome-calendar/blob/master/src/gcal-source-dialog.c, // Courtesy Georges Basile Stavracas Neto - GLib.DBusProxy settings = yield new GLib.DBusProxy.for_bus( - GLib.BusType.SESSION, - GLib.DBusProxyFlags.NONE, - null, - "org.gnome.ControlCenter", - "/org/gnome/ControlCenter", - "org.gtk.Actions", - cancellable - ); + try { + GLib.DBusProxy settings = yield new GLib.DBusProxy.for_bus( + GLib.BusType.SESSION, + GLib.DBusProxyFlags.NONE, + null, + "org.gnome.Settings", + "/org/gnome/Settings", + "org.gtk.Actions", + cancellable + ); + } catch (GLib.Error) { + GLib.DBusProxy settings = yield new GLib.DBusProxy.for_bus( + GLib.BusType.SESSION, + GLib.DBusProxyFlags.NONE, + null, + "org.gnome.ControlCenter", + "/org/gnome/ControlCenter", + "org.gtk.Actions", + cancellable + ); + } // @s "launch-panel" // @av [<@(sav) ("online-accounts", [<@s "add">, <@s "google">])>]