From 904619da1ec381880e2ecef21d67d07cda3b3e5c Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Tue, 4 Dec 2012 17:00:48 +1300 Subject: Fix visible toggle --- src/indicator-bluetooth.vala | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/indicator-bluetooth.vala') diff --git a/src/indicator-bluetooth.vala b/src/indicator-bluetooth.vala index 55a41a6..b944975 100644 --- a/src/indicator-bluetooth.vala +++ b/src/indicator-bluetooth.vala @@ -18,6 +18,7 @@ public class BluetoothIndicator : AppIndicator.Indicator private Gtk.MenuItem enable_item; private bool enable_value = false; private Gtk.CheckMenuItem visible_item; + private bool updating_visible = false; private Gtk.SeparatorMenuItem devices_separator; private Gtk.MenuItem devices_item; private List device_items; @@ -61,11 +62,18 @@ public class BluetoothIndicator : AppIndicator.Indicator visible_item.active = discoverable; client.notify["default-adapter-discoverable"].connect (() => { + updating_visible = true; bool is_discoverable; client.get ("default-adapter-discoverable", out is_discoverable); visible_item.active = is_discoverable; + updating_visible = false; + }); + visible_item.activate.connect (() => + { + if (updating_visible) + return; + client.set ("default-adapter-discoverable", visible_item.active); }); - visible_item.activate.connect (() => { client.set ("default-adapter-discoverable", visible_item.active); }); menu.append (visible_item); devices_separator = new Gtk.SeparatorMenuItem (); -- cgit v1.2.3