     {
         super.updateDisplayList(unscaledWidth, unscaledHeight);
 
-        // If the size or color changed, then create a new spinner.
+        // If the size changed, then create a new spinner.
         if (oldUnscaledWidth != unscaledWidth ||
             oldUnscaledHeight != unscaledHeight)
         {
             var newDiameter:Number;
             
             newDiameter = calculateSpinnerDiameter(unscaledWidth, unscaledHeight);
-            updateSpinnerChildren(newDiameter);
+            updateSpinner(newDiameter);
 
             oldUnscaledWidth = unscaledWidth;
             oldUnscaledHeight = unscaledHeight;

        
        if (allStyles || styleName == "symbolColor")
        {
            updateSpinnerChildren(spinnerDiameter);
        }
    }


    
    /**
     *  @private
     *  Override so we know when visibility is set. The initialized
     *  property calls setVisible() with noEvent == true
     *  so we wouldn't get a visibility event if we just listened
     *  for events.
     */
    override public function setVisible(value:Boolean,
                               noEvent:Boolean = false):void
    {
        super.setVisible(value, noEvent);
        
        effectiveVisibilityChanged = true;
        invalidateProperties();
    }
    
    /**
     *  @private
     */
    override public function styleChanged(styleProp:String):void
    {
