[Sugar-devel] [PATCH] Avoid popping an empty list in the software updater.

Michael Stone michael at laptop.org
Sun May 23 14:50:16 EDT 2010


When you run Sugar with no activities installed, UpdateModel._bundles_to_check
is empty. Attempting to unconditionally pop this list results in an IndexError.
Instead, the updater should stop trying to update bundles when it determines
that it has no more bundles to check.

Signed-off-by: Michael Stone <michael at laptop.org>
---
  extensions/cpsection/updater/model.py |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/extensions/cpsection/updater/model.py b/extensions/cpsection/updater/model.py
index f2de65b..c45dcd3 100755
--- a/extensions/cpsection/updater/model.py
+++ b/extensions/cpsection/updater/model.py
@@ -71,6 +71,8 @@ class UpdateModel(gobject.GObject):
          total = len(bundleregistry.get_registry())
          current = total - len(self._bundles_to_check)
  
+        if len(self._bundles_to_check) == 0:
+            return False
          bundle = self._bundles_to_check.pop()
          self.emit('progress', UpdateModel.ACTION_CHECKING, bundle.get_name(),
                    current, total)
-- 
1.7.1


More information about the Sugar-devel mailing list