diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculator.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculator.java index 6dc33c939..4323b9500 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculator.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculator.java @@ -311,13 +311,14 @@ public class CriticalPathCalculator> { .getStartConstraintsFor(task); List> endConstraints = graph .getEndConstraintsFor(task); - if ((startConstraints == null) && (endConstraints == null)) { + if ((startConstraints == null || startConstraints.isEmpty()) + && (endConstraints == null || endConstraints.isEmpty())) { return null; } - if (startConstraints == null) { + if (startConstraints == null || startConstraints.isEmpty()) { return Constraint.coalesce(endConstraints); } - if (endConstraints == null) { + if (endConstraints == null || endConstraints.isEmpty()) { return Constraint.coalesce(startConstraints); } startConstraints.addAll(endConstraints);