[PATCH 1/2] Software spoke can't be complete if the payload thread is running

Martin Kolman mkolman at redhat.com
Mon Mar 10 19:26:59 UTC 2014


Signed-off-by: Martin Kolman <mkolman at redhat.com>
---
 pyanaconda/ui/gui/spokes/software.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py
index 091b046..cf976a8 100644
--- a/pyanaconda/ui/gui/spokes/software.py
+++ b/pyanaconda/ui/gui/spokes/software.py
@@ -128,13 +128,16 @@ class SoftwareSelectionSpoke(NormalSpoke):
 
     @property
     def completed(self):
-        processingDone = not threadMgr.get(constants.THREAD_CHECK_SOFTWARE) and \
-                         not self._errorMsgs and self.txid_valid
+        processingDone = bool(not threadMgr.get(constants.THREAD_CHECK_SOFTWARE) and
+                              not threadMgr.get(constants.THREAD_PAYLOAD_MD) and
+                              not self._errorMsgs and self.txid_valid)
 
+        # we should always check processingDone before checking the other variables,
+        # as they might be inconsistent until processing is finished
         if flags.automatedInstall:
             return processingDone and self.data.packages.seen
         else:
-            return self._get_selected_environment() is not None and processingDone
+            return processingDone and self._get_selected_environment() is not None
 
     @property
     def changed(self):
-- 
1.8.5.3



More information about the anaconda-patches mailing list