diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2012-01-05 10:29:36 +0100 |
---|---|---|
committer | Package Import Robot <package-import@ubuntu.com> | 2012-01-05 10:29:36 +0100 |
commit | e8673be2a2776278cf919c9a70d75668097b3da3 (patch) | |
tree | df510259376da0cec9db050773d89743efe5e7a9 /src/sound-state-manager.c | |
parent | 47dfa221d14383b68820049af9e612e96cee3d4a (diff) | |
download | ayatana-indicator-sound-e8673be2a2776278cf919c9a70d75668097b3da3.tar.gz ayatana-indicator-sound-e8673be2a2776278cf919c9a70d75668097b3da3.tar.bz2 ayatana-indicator-sound-e8673be2a2776278cf919c9a70d75668097b3da3.zip |
* Add lazy_init.patch: Avoid spawning notification daemon right at startup,
instead initialize it lazily when actually doing a notification. Improves
boot speed. (LP: #912150)
* Add disable_Werror.patch: Build without -Werror, to avoid build failure
due to deprecated declarations. (LP: #912160)
Diffstat (limited to 'src/sound-state-manager.c')
-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; |