diff --git a/modules/MinimumSpanningTree/pom.xml b/modules/MinimumSpanningTree/pom.xml index 246355615a..d19833f9dd 100644 --- a/modules/MinimumSpanningTree/pom.xml +++ b/modules/MinimumSpanningTree/pom.xml @@ -9,7 +9,7 @@ com.carlschroedl.gephi spanning-tree-plugin - 1.0.0 + 1.0.1 nbm Minimum Spanning Tree Plugin diff --git a/modules/MinimumSpanningTree/src/main/java/com/carlschroedl/gephi/plugin/minimumspanningtree/MinimumSpanningTree.java b/modules/MinimumSpanningTree/src/main/java/com/carlschroedl/gephi/plugin/minimumspanningtree/MinimumSpanningTree.java index 56ee2c7309..b332a3c94b 100644 --- a/modules/MinimumSpanningTree/src/main/java/com/carlschroedl/gephi/plugin/minimumspanningtree/MinimumSpanningTree.java +++ b/modules/MinimumSpanningTree/src/main/java/com/carlschroedl/gephi/plugin/minimumspanningtree/MinimumSpanningTree.java @@ -16,7 +16,8 @@ public class MinimumSpanningTree implements Statistics, LongTask { private boolean cancel = false; private ProgressTicket progressTicket; - private MinimumSpanningTreeAlgorithm stAlgorithm; + // Set by the thread running the statistics, and read when cancelling from another + private volatile MinimumSpanningTreeAlgorithm stAlgorithm; private boolean directed; @@ -49,7 +50,9 @@ public String getReport() { //delegate @Override //delegate public boolean cancel() { - return stAlgorithm.cancel(); + // Can be called right as the run starts, before the algorithm exists + MinimumSpanningTreeAlgorithm algorithm = stAlgorithm; + return algorithm != null && algorithm.cancel(); } @Override