aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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 'src')
-rw-r--r--src/Makefile.am2
-rw-r--r--src/Makefile.in2
-rw-r--r--src/sound-state-manager.c11
3 files changed, 11 insertions, 4 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index e79f64e..49cf99a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -28,7 +28,7 @@ libsoundmenu_la_SOURCES = \
gen-sound-service.xml.c \
dbus-shared-names.h
-libsoundmenu_la_CFLAGS = $(APPLET_CFLAGS) -Wall -Werror -DG_LOG_DOMAIN=\"Indicator-Sound\"
+libsoundmenu_la_CFLAGS = $(APPLET_CFLAGS) -Wall -DG_LOG_DOMAIN=\"Indicator-Sound\"
libsoundmenu_la_LIBADD = $(APPLET_LIBS) -lm
libsoundmenu_la_LDFLAGS = -module -avoid-version
diff --git a/src/Makefile.in b/src/Makefile.in
index e38be4e..915f3ea 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -357,7 +357,7 @@ libsoundmenu_la_SOURCES = \
gen-sound-service.xml.c \
dbus-shared-names.h
-libsoundmenu_la_CFLAGS = $(APPLET_CFLAGS) -Wall -Werror -DG_LOG_DOMAIN=\"Indicator-Sound\"
+libsoundmenu_la_CFLAGS = $(APPLET_CFLAGS) -Wall -DG_LOG_DOMAIN=\"Indicator-Sound\"
libsoundmenu_la_LIBADD = $(APPLET_LIBS) -lm
libsoundmenu_la_LDFLAGS = -module -avoid-version
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;