--- a/wicd-1.7.2.4/wicd//networking.py 2012-02-12 11:11:15.000000000 +0100 +++ wicd-1.7.2.4/wicd//networking.py 2013-10-13 15:08:09.000000000 +0200 @@ -593,12 +593,6 @@ A list of available networks sorted by strength. """ - def comp(x, y): - if 'quality' in x: - key = 'quality' - else: - key = 'strength' - return cmp(x[key], y[key]) if not self.wiface: return [] wiface = self.wiface @@ -616,8 +610,6 @@ time.sleep(1) aps = wiface.GetNetworks() - aps.sort(cmp=comp, reverse=True) - return aps def Connect(self, network, debug=False): diff -Naur a/wicd-1.7.2.4/wicd//wicd-daemon.py wicd-1.7.2.4/wicd//wicd-daemon.py --- a/wicd-1.7.2.4/wicd//wicd-daemon.py 2012-04-30 21:19:45.000000000 +0200 +++ wicd-1.7.2.4/wicd//wicd-daemon.py 2013-10-13 15:06:48.000000000 +0200 @@ -990,6 +990,16 @@ def _sync_scan(self): """ Run a scan and send a signal when its finished. """ scan = self.wifi.Scan(str(self.hidden_essid)) + + def comp(x, y): + if self.daemon.GetSignalDisplayType() == 0: + key = 'quality' + else: + key = 'strength' + return cmp(x[key], y[key]) + #scan in reverse order only for quality, for dBm we want the "highest" on top + scan.sort(cmp=comp, reverse=not self.daemon.GetSignalDisplayType()) + self.LastScan = scan if self.debug_mode: print 'scanning done'