                 currentX = toX;
                 currentY = toY;
             }
-            if (dashIndex & 1)
+            if (isLineSegment)
             {
                 target.moveTo(currentX, currentY);
             }

        }
    }

    public static function
    drawPlus(target:Graphics, centreX:Number, centreY:Number,
             halfWidth:Number, halfHeight:Number = Number.NaN):void
    {
        if (isNaN(halfHeight))

            halfHeight = halfWidth;
        }

        target.moveTo(centerX - halfWidth, centerY);
        target.lineTo(centerX + halfWidth, centerY);
        target.moveTo(centerX, centerY - halfHeight);
        target.lineTo(centerX, centerY + halfHeight);
    }

    /**
     * Draws an X symbol.
     *
     * @param target   The Graphics instance to draw into.
     * @param centerX  The x coordinate of the center of the cross.
     * @param centerY  The y coordinate of the center of the cross.
     * @param halfWidth   The half-width of the cross.  The cross will have
     *                    a width double this value.
     * @param halfHeight  The half-height of the cross.  The cross will have
     *                    a width double this value.  If omitted or
     *                    <code>NaN</code>, will use the same value as
     *                    <code>halfWidth</code>.
     */
    public static function
    drawCross(target:Graphics, centreX:Number, centreY:Number,
              halfWidth:Number, halfHeight:Number = Number.NaN):void
