           break
       @dumpNodeForDebug(hitTestResult, line)
 
-
     # If it came back positive,
     # deal with the click.
     if hitTestResult?

          unless state.addedCapturePoint
            @addMicroUndoOperation 'CAPTURE_POINT'
            state.addedCapturePoint = true
          @addMicroUndoOperation new FromFloatingOperation record

          @floatingBlocks.splice i, 1



      best = null; min = Infinity

      # Check to see if the tree is empty;
      # if it is, drop on the tree always
      head = @tree.start.next
      while head.type in ['newline', 'cursor'] or head.type is 'text' and head.value is ''
        head = head.next

      if head is @tree.end and
          @mainCanvas.width + @scrollOffsets.main.x > mainPoint.x > @scrollOffsets.main.x and
          @mainCanvas.height + @scrollOffsets.main.y > mainPoint.y > @scrollOffsets.main.y
        @view.getViewNodeFor(@tree).highlightArea.draw @highlightCtx
        @lastHighlight = @tree

      else
        # Find the closest droppable block
        testPoints = @dropPointQuadTree.retrieve {
          x: mainPoint.x - MAX_DROP_DISTANCE
          y: mainPoint.y - MAX_DROP_DISTANCE
          w: MAX_DROP_DISTANCE * 2
          h: MAX_DROP_DISTANCE * 2
        }, (point) =>
          unless point._ice_needs_shift and not @shiftKeyPressed
            distance = mainPoint.from(point)
            distance.y *= 2; distance = distance.magnitude()
            if distance < min and mainPoint.from(point).magnitude() < MAX_DROP_DISTANCE and
               @view.getViewNodeFor(point._ice_node).highlightArea?
              best = point._ice_node
              min = distance

        if best isnt @lastHighlight
          @clearHighlightCanvas()

          if best? then @view.getViewNodeFor(best).highlightArea.draw @highlightCtx

          @lastHighlight = best

  hook 'mouseup', 0, ->
    clearTimeout @discourageDropTimeout; @discourageDropTimeout = null
