diff options
Diffstat (limited to 'source/xap/blueman/fix_on_off_loop.diff')
-rw-r--r-- | source/xap/blueman/fix_on_off_loop.diff | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/source/xap/blueman/fix_on_off_loop.diff b/source/xap/blueman/fix_on_off_loop.diff new file mode 100644 index 00000000..ac11c135 --- /dev/null +++ b/source/xap/blueman/fix_on_off_loop.diff @@ -0,0 +1,58 @@ +revno: 602 +committer: walmis +timestamp: Sun 2009-10-25 15:49:33 +0000 +message: + fix bluetooth on/off loop + +=== modified file 'blueman/plugins/applet/PowerManager.py' +--- blueman/plugins/applet/PowerManager.py 2009-10-25 15:16:14 +0000 ++++ blueman/plugins/applet/PowerManager.py 2009-10-25 15:49:33 +0000 +@@ -66,22 +66,6 @@ + dprint("adapter powered on while in off state, turning bluetooth on") + self.bluetooth_off = False + +- +- def on_manager_state_changed(self, state): +- if state: +- adapters = self.Applet.Manager.ListAdapters() +- for adapter in adapters: +- props = adapter.GetProperties() +- if not props["Powered"]: +- self.bluetooth_off = True +- if self.state_change_deferred != -1: +- break +- else: +- return +- +- if self.state_change_deferred != -1: +- self.bluetooth_off = self.state_change_deferred +- self.state_change_deferred = -1 + + def on_bluetooth_toggled(self): + self.bluetooth_off = not self.bluetooth_off +@@ -97,9 +81,17 @@ + + return pixbuf + ++ def process_deferred(self): ++ if self.state_change_deferred != -1: ++ dprint("Setting deferred status") ++ self.bluetooth_off = self.state_change_deferred ++ self.state_change_deferred = -1 ++ + def on_adapter_added(self, path): + adapter = Bluez.Adapter(path) + def on_ready(): ++ self.process_deferred() ++ + if self.bluetooth_off: + adapter.SetProperty("Powered", False) + else: +@@ -134,6 +126,7 @@ + self.__dict__[key] = value + + if not self.Applet.Manager: ++ dprint("deferring status change") + self.state_change_deferred = value + return + |