JAL-3878 Fix task status precedence calculation
[jalview.git] / src / jalview / ws2 / actions / AbstractPollableTask.java
index 1e57556..999411f 100644 (file)
@@ -207,19 +207,18 @@ public abstract class AbstractPollableTask<T extends BaseJob, R> implements Task
    */
   private void updateGlobalStatus()
   {
-    JobStatus newStatus = taskStatus;
-    int currentPrecedence = ArrayUtils.indexOf(statusPrecedence, newStatus);
+    int precedence = -1;
     for (BaseJob job : jobs)
     {
       JobStatus status = job.getStatus();
       int jobPrecedence = ArrayUtils.indexOf(statusPrecedence, status);
-      if (currentPrecedence < jobPrecedence)
-      {
-        currentPrecedence = jobPrecedence;
-        newStatus = status;
-      }
+      if (precedence < jobPrecedence)
+        precedence = jobPrecedence;
+    }
+    if (precedence >= 0)
+    {
+      setStatus(statusPrecedence[precedence]);
     }
-    setStatus(newStatus);
   }
 
   /**