         @longestScreenRow = maxLengthCandidatesStartRow + screenRow
         @maxLineLength = length
 
+  computeScrollWidth: ->
+    @scrollWidth = @pixelPositionForScreenPosition([@longestScreenRow, @maxLineLength]).left + 1
   handleBufferMarkersUpdated: =>
     if event = @pendingChangeEvent
       @pendingChangeEvent = null

    @getLineCount() * @getLineHeightInPixels()

  getScrollWidth: ->
    (@getMaxLineLength() * @getDefaultCharWidth()) + @getCursorWidth()

  getVisibleRowRange: ->
    return [0, 0] unless @getLineHeightInPixels() > 0

    @rowMap.spliceRegions(startBufferRow, endBufferRow - startBufferRow, regions)
    @findMaxLineLength(startScreenRow, endScreenRow, screenLines)

    if startBufferRow <= @longestScreenRow < endScreenRow
      @computeScrollWidth()

    return if options.suppressChangeEvent

    changeEvent =
