 	 */
 	public function get offsetY():Number
 	{
-		return y;
+		return isNaN(y) ? 0 : y;
 	}
 	
 	public function set offsetY(value:Number):void
 	{
+        var oldValue:Number = isNaN(y) ? 0 : y; // Avoid warning since the offsetY getter is deprecated
 		y = value;
+        dispatchFillChangedEvent("offsetY", oldValue, value);
 	}
 
 	//----------------------------------

	 *  from 0.0 to 1.0.
	 *  If 1.0, the bitmap is filled at its natural size.
	 *
	 *  @default 1.0
	 *  
	 *  @langversion 3.0
	 *  @playerversion Flash 9
	 *  @playerversion AIR 1.1
	 *  @productversion Flex 3
	 */
	public function get scaleX():Number
	{
        return compoundTransform ? compoundTransform.scaleX : _scaleX;
	}
	
    /**
     *  @private
     */  
	public function set scaleX(value:Number):void
	{
		if (value != scaleX)
		{
            var oldValue:Number = scaleX;
            
            if (compoundTransform)
                compoundTransform.scaleX = value;
            else
			    _scaleX = value;
			dispatchFillChangedEvent("scaleX", oldValue, value);
		}
	}

	//----------------------------------
	//  scaleY
	//----------------------------------
	
	private var _scaleY:Number = 1.0;
	
	[Bindable("propertyChange")]
	[Inspectable(category="General")]	
	
	/**
	 *  The percent to vertically scale the bitmap when filling,
	 *  from 0.0 to 1.0.
	 *  If 1.0, the bitmap is filled at its natural size.
	 *
	 *  @default 1.0 
	 *  
	 *  @langversion 3.0
	 *  @playerversion Flash 9
	 *  @playerversion AIR 1.1
	 *  @productversion Flex 3
	 */
	public function get scaleY():Number
	{
        return compoundTransform ? compoundTransform.scaleY : _scaleY;

            var oldValue:Number = scaleY;
            
            if (compoundTransform)
            {
                // If we have a compoundTransform, only non-NaN values are allowed
                if (!isNaN(value))
                    compoundTransform.scaleY = value;
            }
            else
            {
                _scaleY = value;
            }
            dispatchFillChangedEvent("scaleY", oldValue, value);
        }
	}
