theseArgsWereParsed &= processLinked(id);
processGroovyScript(id);
boolean processLinkedOkay = theseArgsWereParsed;
+
+ // wait around until alignFrame isn't busy
+ AlignFrame af=afMap.get(id);
+ while (af!=null && af.getViewport().isCalcInProgress())
+ {
+ try {
+ Thread.sleep(25);
+ } catch (Exception q) {};
+ }
+
theseArgsWereParsed &= processImages(id);
if (processLinkedOkay)
theseArgsWereParsed &= processOutput(id);
// close ap
if (avm.getBoolean(Arg.CLOSE))
{
- AlignFrame af = afMap.get(id);
+ af = afMap.get(id);
if (af != null)
{
af.closeMenuItem_actionPerformed(true);
@Override
public boolean isWorking()
{
+ boolean working=false;
synchronized (inProgress)
{
// System.err.println("isWorking "+hashCode());
- return inProgress.size() > 0;
+ working |= inProgress.size() > 0;
}
+ synchronized (updating)
+ {
+ for (List<AlignCalcWorkerI> workers : updating.values())
+ {
+ working |= workers.size() > 0;
+ }
+ }
+ return working;
}
@Override