diff options
author | Conor Curran <conor.curran@canonical.com> | 2012-01-13 13:32:29 +0000 |
---|---|---|
committer | Conor Curran <conor.curran@canonical.com> | 2012-01-13 13:32:29 +0000 |
commit | f09e4b82b35c5bbee28b93dbbf7b7af43308a511 (patch) | |
tree | 95faa13a46c73e700aac210556002bafafc5813a | |
parent | 048fe88d783124358184248e33100caf9d6af82d (diff) | |
parent | d2f3236301779a4b99a85083008b50fa6425eb26 (diff) | |
download | ayatana-indicator-sound-f09e4b82b35c5bbee28b93dbbf7b7af43308a511.tar.gz ayatana-indicator-sound-f09e4b82b35c5bbee28b93dbbf7b7af43308a511.tar.bz2 ayatana-indicator-sound-f09e4b82b35c5bbee28b93dbbf7b7af43308a511.zip |
only start the notification daemon when required
-rw-r--r-- | src/sound-state-manager.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/sound-state-manager.c b/src/sound-state-manager.c index c851407..ac03add 100644 --- a/src/sound-state-manager.c +++ b/src/sound-state-manager.c @@ -80,8 +80,6 @@ sound_state_manager_init (SoundStateManager* self) priv->settings_manager = g_settings_new("com.canonical.indicators.sound"); - sound_state_manager_notification_init (self); - sound_state_manager_prepare_state_image_names (self); sound_state_manager_prepare_blocked_animation (self); @@ -134,6 +132,13 @@ sound_state_manager_class_init (SoundStateManagerClass *klass) static void sound_state_manager_notification_init (SoundStateManager* self) { + static gboolean initialized = FALSE; + + /* one-time lazy initialization */ + if (initialized) + return; + initialized = TRUE; + SoundStateManagerPrivate* priv = SOUND_STATE_MANAGER_GET_PRIVATE(self); if (!notify_init(PACKAGE_NAME)) @@ -164,6 +169,8 @@ sound_state_manager_show_notification (SoundStateManager *self, { SoundStateManagerPrivate* priv = SOUND_STATE_MANAGER_GET_PRIVATE(self); + sound_state_manager_notification_init (self); + if (priv->notification == NULL || g_settings_get_boolean (priv->settings_manager, "show-notify-osd-on-scroll") == FALSE){ return; |