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