# Description: Fixes visibility settings
# This patch was taken from upstream.  Please see this link for more information:
# Upstream: http://git.kernel.org/?p=bluetooth/bluez-gnome.git;a=blobdiff;f=applet/main.c;h=62993755f098d06fbdc5aa3eaaa1325e448aa15f;hp=71f8778dd4388187f163fc736e440bace9256f3c;hb=4d56f10dc2a065d60724ccce8496d173fa0dc85a;hpb=68b98e6b6043acd8f6b2875d9f17fce84b14b9fb
# Ubuntu: 297819

diff --git a/applet/main.c b/applet/main.c
index 71f8778..6299375 100644 (file)
diff -Nur -x '*.orig' -x '*~' bluez-gnome-1.8/applet/main.c bluez-gnome-1.8.new/applet/main.c
--- bluez-gnome-1.8/applet/main.c	2008-09-29 07:08:50.000000000 -0500
+++ bluez-gnome-1.8.new/applet/main.c	2009-02-12 14:39:54.000000000 -0600
@@ -288,6 +288,20 @@
 	}
 }
 
+static void update_icon_visibility()
+{
+       if (icon_policy == ICON_POLICY_NEVER)
+               hide_icon();
+       else if (icon_policy == ICON_POLICY_ALWAYS)
+               show_icon();
+       else if (icon_policy == ICON_POLICY_PRESENT) {
+               if (adapter_present == TRUE)
+                       show_icon();
+               else
+                       hide_icon();
+       }
+}
+
 static GConfEnumStringPair icon_policy_enum_map [] = {
 	{ ICON_POLICY_NEVER,	"never"		},
 	{ ICON_POLICY_ALWAYS,	"always"	},
@@ -313,16 +327,7 @@
 
 		gconf_string_to_enum(icon_policy_enum_map, str, &icon_policy);
 
-		if (icon_policy == ICON_POLICY_NEVER)
-			hide_icon();
-		else if (icon_policy == ICON_POLICY_ALWAYS)
-			show_icon();
-		else if (icon_policy == ICON_POLICY_PRESENT) {
-			if (adapter_present == TRUE)
-				show_icon();
-			else
-				hide_icon();
-		}
+		update_icon_visibility();
 		return;
 	}
 
@@ -410,8 +415,7 @@
 
 	statusicon = init_notification();
 
-	if (icon_policy != ICON_POLICY_ALWAYS && adapter_present == FALSE)
-		hide_icon();
+	update_icon_visibility();
 
 	g_signal_connect(statusicon, "activate",
 				G_CALLBACK(activate_callback), NULL);
