      */
     private const visibleItemRenderersBounds:Rectangle = new Rectangle();
     
+    /**
+     *  Initialized by updateDisplayList with the current scrollPosition, and grid.width,Height.
+     */
+    private const visibleGridBounds:Rectangle = new Rectangle();
+    
+    
     private function layoutItemRenderers(itemRendererGroup:Group, scrollX:Number, scrollY:Number, width:Number, height:Number):void
     {
         var rowIndex:int;

            }
           
            // If gridDimensions.rowHeight is now larger, we need to make another
            // pass to fix up the item renderer heights.           
            const finalRowHeight:Number = gridDimensions.getRowHeight(rowIndex);
            if (rowHeight != finalRowHeight)
            {

        
        // Only invalidate if we're clipping and scrollR extends outside validBounds
        
        const scrollR:Rectangle = grid.scrollRect;
        if (scrollR && !visibleItemRenderersBounds.containsRect(scrollR))
            grid.invalidateDisplayList();
