       # transition. The latter is also affected by `safeToggle`. The `onShow`
       # and `afterShow` hook methods are also run.
       wake = =>
+        @_positionToTrigger $trigger, event
         @onShow triggerChanged, event
         @$tip.fadeIn duration, =>
           if triggerChanged

        $trigger.hasClass @classNames.trigger
      ) then $trigger else $trigger.closest(@classNames.trigger)
      return no if not $trigger.length
      @wakeByTrigger $trigger, event, =>
        offset =
          top: event.pageY
          left: event.pageX
        offset = @offsetOnTriggerMouseMove(event, offset, $trigger) or offset
        if @isDirection('north', $trigger) then offset.top -= @$tip.outerHeight() + @cursorHeight
        if @isDirection('west',  $trigger)
          tipWidth = @$tip.outerWidth()
          triggerWidth = $trigger.outerWidth()
          offset.left -= tipWidth
          # If direction changed due to tip being wider than trigger.
          if tipWidth > triggerWidth
            offset.left += triggerWidth
        if @isDirection('south', $trigger) then offset.top += @cursorHeight
        offset.top += @cursorHeight
        @$tip.css offset
        @debugLog '_onTriggerMouseMove', @_state, offset

    # `_updateDirectionByTrigger` is the main provider of auto-direction
    # support. Given the `$context`'s `_bounds`, it changes to the best

        @_inflateByTrigger $trigger
        @_$currentTrigger = $trigger
      # Go directly to the position updating if no toggling is needed.
      if @_state is 'awake'
        @_positionToTrigger $trigger, event
        @onShow triggerChanged, event
        if onWake? then onWake()
        @debugLog 'quick update'
        return yes
      if event? then @debugLog event.type
