diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java index 822dd56f2..11875f08e 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java @@ -1746,15 +1746,17 @@ public class GanttDiagramGraph> implements .withConstraints(restrictions.getStartConstraints()) .withConstraints(getStartConstraints()) .applyWithoutFinalCheck(); - if (result != null && !result.equals(getStartDate(task))) { - return enforceRestrictions(result); + if (result != null) { + enforceRestrictions(result); + return biggerThan(result, adapter.getEndDateFor(task)); } return restrictions; } - private PositionRestrictions enforceRestrictions(GanttDate result) { - adapter.setStartDateFor(task, result); - return biggerThan(result, adapter.getEndDateFor(task)); + private void enforceRestrictions(GanttDate result) { + if (!result.equals(getStartDate(task))) { + adapter.setStartDateFor(task, result); + } } } @@ -1768,8 +1770,9 @@ public class GanttDiagramGraph> implements .withConstraints(restrictions.getEndConstraints()) .withConstraints(getEndConstraints()) .applyWithoutFinalCheck(); - if (result != null && !result.equals(getEndDateFor(task))) { - return enforceRestrictions(result); + if (result != null) { + enforceRestrictions(result); + return lessThan(adapter.getStartDate(task), result); } return restrictions; } @@ -1784,11 +1787,11 @@ public class GanttDiagramGraph> implements return adapter.getEndConstraintsFor(task); } - private PositionRestrictions enforceRestrictions(GanttDate newEnd) { - adapter.setEndDateFor(task, newEnd); - return lessThan(adapter.getStartDate(task), newEnd); + private void enforceRestrictions(GanttDate newEnd) { + if (!newEnd.equals(getEndDateFor(task))) { + adapter.setEndDateFor(task, newEnd); + } } - } @Override