 	        }
         }
 
-        if (_scaleX != oldScaleX || _scaleY != oldScaleY)
-        {
-            oldScaleX = _scaleX;
-            oldScaleY = _scaleY;
+        if (_scaleX != lastActualScaleX || _scaleY != lastActualScaleY)
+        {
+            lastActualScaleX = _scaleX;
+            lastActualScaleY = _scaleY;
     
             invalidateDisplayList();
         }

     * 
     *  @return Returns the TBounds of the new item size.
     */
    private var oldScaleX:Number = 0;
    private var oldScaleY:Number = 0;
    override public function setActualSize(width:Number = Number.NaN, height:Number = Number.NaN):Point
    {
        // Reset scale

        return _winding; 
    }

    //----------------------------------
    //  bounds
    //----------------------------------

    private var _bounds:Rectangle;

    private function getBounds():Rectangle
    {
        if (_bounds)
            return _bounds;

        var s:Shape = new Shape();
        
        // Draw element at (0,0):
        drawElement(s.graphics);

        // Get bounds
        _bounds = s.getRect(s);

        return _bounds;
    }

    //--------------------------------------------------------------------------
    //
    //  Overridden methods
    //
    //--------------------------------------------------------------------------

	/**
	 *  @inheritDoc
	 */
    override protected function skipMeasure():Boolean
    {
        // Don't measure when bounds are up to date.
        return _bounds != null;
    }

	/**
	 *  @inheritDoc
	 */
    override protected function measure():void
    {
        var bounds:Rectangle = getBounds();
        measuredWidth = bounds.width;
        measuredHeight = bounds.height;
        measuredX = bounds.left;
        measuredY = bounds.top;
    }
 
    //----------------------------------
    //  scaleX
    //----------------------------------
