     
     private var _itemRenderer:IFactory = null;
     
+    private var itemRendererChanged:Boolean = false;
+    
     /**
      *  The item renderer that's used for columns that do not specify one.
      * 

            return;
        
        _typicalItem = value;
        gridDimensions.clearTypicalCellWidthsAndHeights();
        
        typicalItemChanged = true;       
        invalidateProperties();

            variableRowHeightChanged = false;
        }

        // item renderer changed or typical item changed
        if (itemRendererChanged || typicalItemChanged)
        {
            clearGridLayoutCache(true);
            itemRendererChanged = false;
        }
        
        // Try to generate columns if there aren't any or there are generated
        // ones which need to be regenerated because the typicalItem or 
        // dataProvider changed.
