From 1ee51fb74732306f07f81a49793ac2184a9601f8 Mon Sep 17 00:00:00 2001 From: Dan O'Reilly Date: Sun, 24 May 2009 17:11:14 -0400 Subject: [PATCH] Try to recover if we attempt to load a non-existent backend. --- wicd/wicd-daemon.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/wicd/wicd-daemon.py b/wicd/wicd-daemon.py index 4b72e99..24289ed 100644 --- a/wicd/wicd-daemon.py +++ b/wicd/wicd-daemon.py @@ -203,6 +203,16 @@ class WicdDaemon(dbus.service.Object): def SetBackend(self, backend): """ Sets a new backend. """ print "setting backend to %s" % backend + backends = networking.BACKEND_MGR.get_available_backends() + if backend not in backends: + print "backend %s not available, trying to fallback to another" % backend + try: + backend = backends[0] + except IndexError: + print "ERROR: no backends available!" + return + else: + print "Fell back to backend %s" % backend self.config.set("Settings", "backend", backend, write=True) if backend != self.GetCurrentBackend(): self.suspended = True