 	 */
     public function set x(value:Number):void
     {
-    	var oldValue:Number = _x;
+        var oldValue:Number = x;
     	if (value != oldValue)
     	{
-    		_x = value;
+    		if (compoundTransform)
+    		{
+    			// If we have a compoundTransform, only non-NaN values are allowed
+    			if (!isNaN(value))
+                    compoundTransform.x = value; 
+    		}   
+            else
+            {
+                _x = value;
+            }       
     		dispatchGradientChangedEvent("x", oldValue, value);
     	}
     }

     */
    public function get x():Number
    {
    	return _x;	
    }
    
	/**

	 */
    public function set scaleX(value:Number):void
    {
    	// Once a matrix is set, scaleX can no longer be set
    	if (_scaleX != value && !compoundTransform)
    	{
    		var oldValue:Number = scaleX;
			_scaleX = value;
                        
    		dispatchGradientChangedEvent("scaleX", oldValue, value);
    	}
    }
