 
     @emitDidUpdateState()
 
-  updateOverlaysState: -> @batch "shouldUpdateOverlaysState", ->
+  updateOverlaysState: ->
     return unless @hasOverlayPositionRequirements()
 
     visibleDecorationIds = {}

  #     }
  #   }
  updateCustomGutterDecorationState: ->
    @batch 'shouldUpdateCustomGutterDecorationState', =>
      return unless @startRow? and @endRow? and @lineHeight?

      @state.gutters.customDecorations = {}
      return if @model.isMini()

      for gutter in @model.getGutters()
        gutterName = gutter.name
        @state.gutters.customDecorations[gutterName] = {}
        return if not @gutterIsVisible(gutter)

        relevantDecorations = @customGutterDecorationsInRange(gutterName, @startRow, @endRow - 1)
        relevantDecorations.forEach (decoration) =>
          decorationRange = decoration.getMarker().getScreenRange()
          @state.gutters.customDecorations[gutterName][decoration.id] =
            top: @lineHeight * decorationRange.start.row
            height: @lineHeight * decorationRange.getRowCount()
            item: decoration.getProperties().item
            class: decoration.getProperties().class

  gutterIsVisible: (gutterModel) ->
    isVisible = gutterModel.isVisible()

      isVisible = isVisible and @showLineNumbers
    isVisible

  updateLineNumbersState: ->
    return unless @startRow? and @endRow? and @lineHeight?

    visibleLineNumberIds = {}
