         let windowPoint = event.locationInWindow
         let point = self.convert(windowPoint, from: nil)
         
-        if let segment = segmentUnderPoint(point: point) {
+        if let segment = segmentUnder(point: point) {
             delegate?.timelineView(self, didTapSegment: segment, with: event)
         } else {
             if(self.bounds.contains(point)) {

        let windowPoint = event.locationInWindow
        let point = self.convert(windowPoint, from: nil)
        
        if dragging == false, let segment = segmentUnderPoint(point: point) {
            delegate?.timelineView(self, didTapSegment: segment, with: event)
        } else if(dragging == false) {
            if(self.bounds.contains(point)) {

    }
    
    // MARK: - Positioning
    func segmentUnder(point: NSPoint) -> TaskSegment? {
        // Reverse so search finds the top-most segment always
        guard let segments = dataSource?.segmentsForTimelineView(self).reversed() else {
            return nil
        }
        
        let startDate = self.startDate
        let endDate = self.endDate
        let bounds = self.boundsForSegments()
        
        for segment in segments {
            let frame = frameFor(segment: segment, withStartDate: startDate, endDate: endDate, inBounds: bounds)
            if(frame.contains(point)) {
                return segment
            }
        }
