             
             invalidateParentSizeAndDisplayList();
         }
-
-        if (scrollPositionChanged) {
-            scrollPositionChanged = false;
-            var r:Rectangle = scrollRect;
-            if (r == null) r = new Rectangle(0, 0, width, height);
-            r.x = _horizontalScrollPosition;
-            r.y = _verticalScrollPosition;
-            scrollRect = r; 
-        }
     }
     
     override protected function measure():void


        if (_layout)
            _layout.updateDisplayList(unscaledWidth, unscaledHeight);
            
        updateScrollRect(unscaledWidth, unscaledHeight);
    }
    
    //----------------------------------
    //  horizontalScrollPosition
    //----------------------------------
        
    private var scrollPositionChanged:Boolean = false;
    private var _horizontalScrollPosition:Number = 0;
    
    [Bindable]
    [Inspectable(category="General")]
    
    /**
     *  The X coordinate of the origin of the region this Group is
     *  scrolled to.  
     * 
     *  Setting this property causes the <code>scrollRect</code> to
     *  be set, if necessary, to:
     *  <pre>
     *  new Rectangle(horizontalScrollPosition, verticalScrollPosition, width, height)
     *  </pre>
     * 
     *  @default 0
     */
    public function get horizontalScrollPosition():Number 
    {
        return _horizontalScrollPosition;
    }
    
    /**
     *  @private
     */
    public function set horizontalScrollPosition(value:Number):void 
    {
        if (value == _horizontalScrollPosition) 
            return;
    
        _horizontalScrollPosition = value;
        scrollPositionChanged = true;
        invalidateProperties();
    }
    
    //----------------------------------
    //  verticalScrollPosition
    //----------------------------------

    private var _verticalScrollPosition:Number = 0;
    
    [Bindable]
    [Inspectable(category="General")]    
    
    /**
     *  The Y coordinate of the origin of the region this Group is
     *  scrolled to.  
     * 
     *  Setting this property causes the <code>scrollRect</code> to
     *  be set, if necessary, to:
     *  <pre>
     *  new Rectangle(horizontalScrollPosition, verticalScrollPosition, width, height)
     *  </pre>                 
     * 
     *  @default 0
     */
    public function get verticalScrollPosition():Number 
    {
        return _verticalScrollPosition;
    }
    
    /**
     *  @private
     */
    public function set verticalScrollPosition(value:Number):void 
    {
        if (value == _verticalScrollPosition)
            return;
            
        _verticalScrollPosition = value;
        scrollPositionChanged = true;
        invalidateProperties();
    }
    
    

        
        if (_layout)
            _layout.measure();
    }
    
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
