             // stop any asynch operation:
             if (iconSetterDelayTimer)
             {
+				loadingIconSource = null
                 iconSetterDelayTimer.stop();
                 iconSetterDelayTimer.reset();
             }

            labelWidth = getElementPreferredWidth(labelDisplay);
            labelHeight = getElementPreferredHeight(labelDisplay);
        }
        
		
        if (messageDisplay)
        {

        var myMeasuredHeight:Number = 0;
        var myMeasuredMinWidth:Number = 0;
        var myMeasuredMinHeight:Number = 0;
		
		// calculate padding and horizontal gap
		// verticalGap is already handled above when there's a label
		// and a message since that's the only place verticalGap matters.
		// if we handled verticalGap here, it might add it to the icon if 
		// the icon was the tallest item.
		var numHorizontalSections:int = 0;
		if (iconDisplay)
			numHorizontalSections++;
		
		if (decoratorDisplay)
			numHorizontalSections++;
		
		if (labelDisplay || messageDisplay)
			numHorizontalSections++;
		
		var paddingAndGapWidth:Number = getStyle("paddingLeft") + getStyle("paddingRight");
		if (numHorizontalSections > 0)
			paddingAndGapWidth += (getStyle("horizontalGap") * (numHorizontalSections - 1));
		
		var verticalGap:Number = (labelDisplay && messageDisplay) ? getStyle("verticalGap") : 0;
		var paddingHeight:Number = getStyle("paddingTop") + getStyle("paddingBottom");
        
        // Icon is on left
		var myIconWidth:Number = 0;
