diff options
Diffstat (limited to 'mate-settings-daemon/main.c')
-rw-r--r-- | mate-settings-daemon/main.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/mate-settings-daemon/main.c b/mate-settings-daemon/main.c index da87c36..b070361 100644 --- a/mate-settings-daemon/main.c +++ b/mate-settings-daemon/main.c @@ -519,13 +519,24 @@ main (int argc, char *argv[]) goto out; } + /* If we aren't started by dbus then load the plugins automatically during the + * Initialization phase. Otherwise, wait for an Awake etc. */ + if (g_getenv ("DBUS_STARTER_BUS_TYPE") == NULL) { + error = NULL; + res = mate_settings_manager_start (manager, PLUGIN_LOAD_INIT, &error); + if (! res) { + g_warning ("Unable to start: %s", error->message); + g_error_free (error); + } + } + set_session_over_handler (bus, manager); - /* If we aren't started by dbus then load the plugins - automatically. Otherwise, wait for an Awake etc. */ + /* If we aren't started by dbus then load the plugins automatically after + * mate-settings-daemon has registered itself. Otherwise, wait for an Awake etc. */ if (g_getenv ("DBUS_STARTER_BUS_TYPE") == NULL) { error = NULL; - res = mate_settings_manager_start (manager, &error); + res = mate_settings_manager_start (manager, PLUGIN_LOAD_DEFER, &error); if (! res) { g_warning ("Unable to start: %s", error->message); g_error_free (error); |