      */
     override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
+        // TBD (hmuller): Short-circuit if there aren't any rows or columns.
+        
         if (!grid)
             return;
         

 	private function layoutColumns(scrollX:Number, scrollY:Number, width:Number):void
	{
        const gridDimensions:GridDimensions = gridDimensions;
        
        // If width isn't specified (see measure()), then only update requestedColumnCount columns
        
        const requestedColumnCount:int = grid.requestedColumnCount;
        var columnCount:int = gridDimensions.columnCount;
        if (isNaN(width) && (requestedColumnCount != -1))
            columnCount = Math.min(columnCount, requestedColumnCount);
        

        // there's space left over, widen the columns whose GridColumn width 
        // isn't set explicitly, to fill the extra space.
        
        if ((scrollX != 0) || isNaN(width) || (availableWidth < 1.0) || (flexibleColumnCount == 0))
            return;
        
        const columnWidthDelta:Number = Math.ceil(availableWidth / flexibleColumnCount);

        for (columnIndex = firstVisibleColumnIndex; (columnIndex < columnCount) && (availableWidth >= 1.0); columnIndex++)
        {
            gridColumn = getGridColumn(columnIndex);
            
