Code: Select all
1620
1621 while (tickDate.before(upperDate)) {
1622 // could add a flag to make the following correction optional...
1623 tickDate = correctTickDateForPosition(tickDate, unit,
1624 this.tickMarkPosition);
1625
1626 long lowestTickTime = tickDate.getTime();
1627 long distance = unit.addToDate(tickDate, this.timeZone).getTime()
1628 - lowestTickTime;
1629 for(int minorTick = 1; minorTick < getMinorTickCount();
1630 minorTick++) {
1631 long minorTickTime = lowestTickTime - distance
1632 * minorTick / getMinorTickCount();
1633 if (minorTickTime > 0 && getRange().contains(minorTickTime)
1634 && (!isHiddenValue(minorTickTime))) {
1635 result.add(new DateTick(TickType.MINOR,
1636 new Date(minorTickTime), "", TextAnchor.TOP_CENTER,
1637 TextAnchor.CENTER, 0.0));
1638 }
1639 }
1640
1641 if (!isHiddenValue(tickDate.getTime())) {
1642 // work out the value, label and position
The only way I was able to correct this issue was to move the block of code from lines 1622-1639 that "corrects" the tickDate out of the enclosing loop -- essentially moving line 1621 to line 1640.