diff options
Diffstat (limited to 'applets')
-rw-r--r-- | applets/notification_area/main.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/applets/notification_area/main.c b/applets/notification_area/main.c index 6818ce5e..46d8ea48 100644 --- a/applets/notification_area/main.c +++ b/applets/notification_area/main.c @@ -64,15 +64,22 @@ static GfStatusNotifierWatcher *sn_watcher_service = NULL; static GfStatusNotifierWatcher * sn_watcher_service_ref (void) { - if (sn_watcher_service != NULL) - g_object_ref (sn_watcher_service); - else + GSettings *settings; + settings = g_settings_new ("org.mate.panel"); + + if (g_settings_get_boolean (settings, "enable-sni-support") == TRUE) { - sn_watcher_service = gf_status_notifier_watcher_new (); - g_object_add_weak_pointer ((GObject *) sn_watcher_service, - (gpointer *) &sn_watcher_service); + if (sn_watcher_service != NULL) + g_object_ref (sn_watcher_service); + else + { + sn_watcher_service = gf_status_notifier_watcher_new (); + g_object_add_weak_pointer ((GObject *) sn_watcher_service, + (gpointer *) &sn_watcher_service); + } } + g_object_unref (settings); return sn_watcher_service; } #endif |