         _width = value;
         
         invalidateGrid();
-
+        
+        // Reset content size so scroller's viewport can be resized.  There
+        // is loop-prevention logic in the scroller which may not allow the
+        // width/height to be reduced if there are automatic scrollbars.
+        // See ScrollerLayout/measure().
+        if (grid)
+            grid.setContentSize(0, 0);
+        
         dispatchChangeEvent("widthChanged");
     }
     

        _minWidth = value;
        
        invalidateGrid();
        
        dispatchChangeEvent("minWidthChanged");
    }    

        _maxWidth = value;
        
        invalidateGrid();

        // Reset content size so scroller's viewport can be resized.  There
        // is loop-prevention logic in the scroller which may not allow the
        // width/height to be reduced if there are automatic scrollbars.
        // See ScrollerLayout/measure().
        if (grid)
            grid.setContentSize(0, 0);
        
        dispatchChangeEvent("maxWidthChanged");
    }
