aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/lazy_init.patch
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2012-01-05 10:29:36 +0100
committerPackage Import Robot <package-import@ubuntu.com>2012-01-05 10:29:36 +0100
commite8673be2a2776278cf919c9a70d75668097b3da3 (patch)
treedf510259376da0cec9db050773d89743efe5e7a9 /debian/patches/lazy_init.patch
parent47dfa221d14383b68820049af9e612e96cee3d4a (diff)
downloadayatana-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 'debian/patches/lazy_init.patch')
-rw-r--r--debian/patches/lazy_init.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/patches/lazy_init.patch b/debian/patches/lazy_init.patch
new file mode 100644
index 0000000..cc0fe17
--- /dev/null
+++ b/debian/patches/lazy_init.patch
@@ -0,0 +1,40 @@
+Description: Avoid spawning notification daemon right at startup, instead initialize it lazily when actually doing a notification. Improves boot speed.
+Bug: https://launchpad.net/bugs/912150
+Author: Martin Pitt <martin.pitt@ubuntu.com>
+Forwarded: https://code.launchpad.net/~pitti/indicator-sound/lazy-notification-init/+merge/87576
+
+--- a/src/sound-state-manager.c 2011-04-05 03:14:19 +0000
++++ b/src/sound-state-manager.c 2012-01-05 08:46:07 +0000
+@@ -80,8 +80,6 @@
+
+ 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 @@
+ 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 @@
+ {
+ 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;
+