             index: column
           })
 
-    @firstRenderedRow = firstRow
-    @lastRenderedRow = lastRow
-    @firstRenderedColumn = firstColumn
-    @lastRenderedColumn = lastColumn
-    @hasChanged = false
-    @dirtyPositions = null
-    @dirtyColumns = null
-    @wholeTableIsDirty = false
+    endUpdate()
 
   updateWidthAndHeight: ->
     @tableCells.style.cssText = """


      @appendGutterCell(row) for row in visibleRows

    # Whole table redraw, when the table suddenly jump from one edge to the
    # other and the old and new visible range doesn't intersect.
    else if lastRow < @firstRenderedRow or firstRow >= @lastRenderedRow or lastColumn < @firstRenderedColumn or firstColumn >= @lastRenderedColumn

    @updateScroll()
    @updateSelection()

    endUpdate = =>
      @firstRenderedRow = firstRow
      @lastRenderedRow = lastRow
      @firstRenderedColumn = firstColumn
      @lastRenderedColumn = lastColumn
      @hasChanged = false
      @dirtyPositions = null
      @dirtyColumns = null
      @wholeTableIsDirty = false

    # We never rendered anything
    unless @firstRenderedRow?
      for column in visibleColumns
