From 043af330ce48ea89d820e50c1f915ac9a9b278c6 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 9 Feb 2015 16:35:05 -0600 Subject: Make it so that the accounts service object is made outside of the service object --- src/main.c | 5 ++++- src/service.vala | 7 +++---- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index d2a8be8..6cc3b13 100644 --- a/src/main.c +++ b/src/main.c @@ -22,19 +22,22 @@ main (int argc, char ** argv) { notify_init ("indicator-sound"); MediaPlayerList * playerlist = NULL; + AccountsServiceUser * accounts = NULL; if (g_strcmp0("lightdm", g_get_user_name()) == 0) { playerlist = MEDIA_PLAYER_LIST(media_player_list_greeter_new()); } else { playerlist = MEDIA_PLAYER_LIST(media_player_list_mpris_new()); + accounts = accounts_service_user_new(); } VolumeControlPulse * volume = volume_control_pulse_new(); - service = indicator_sound_service_new (playerlist, volume); + service = indicator_sound_service_new (playerlist, volume, accounts); result = indicator_sound_service_run (service); g_object_unref(playerlist); + g_clear_object(&accounts); g_object_unref(service); return result; diff --git a/src/service.vala b/src/service.vala index c63f5c0..c6f318b 100644 --- a/src/service.vala +++ b/src/service.vala @@ -18,7 +18,7 @@ */ public class IndicatorSound.Service: Object { - public Service (MediaPlayerList playerlist, VolumeControl volume) { + public Service (MediaPlayerList playerlist, VolumeControl volume, AccountsServiceUser? accounts) { sync_notification = new Notify.Notification(_("Volume"), "", "audio-volume-muted"); this.notification_server_watch = GLib.Bus.watch_name(GLib.BusType.SESSION, "org.freedesktop.Notifications", @@ -34,10 +34,9 @@ public class IndicatorSound.Service: Object { this.volume_control = volume; + this.accounts_service = accounts; /* If we're on the greeter, don't export */ - if (GLib.Environment.get_user_name() != "lightdm") { - this.accounts_service = new AccountsServiceUser(); - + if (this.accounts_service != null) { this.accounts_service.notify["showDataOnGreeter"].connect(() => { this.export_to_accounts_service = this.accounts_service.showDataOnGreeter; eventually_update_player_actions(); -- cgit v1.2.3