         {
             ISharedDisplayObject(iconDisplay.displayObject).redrawRequested = false;
             iconDisplay.validateDisplayList();
+            // if decoratorDisplay is also using this displayObject than validate
+            // decoratorDisplay as well
+            if (decoratorDisplay && 
+                decoratorDisplay.displayObject is ISharedDisplayObject && 
+                decoratorDisplay.displayObject == iconDisplay.displayObject)
+                decoratorDisplay.validateDisplayList();
+        }
+        
+        // check just for decoratorDisplay in case it has a different displayObject
+        // than iconDisplay
+        if (decoratorDisplay && 
+            decoratorDisplay.displayObject is ISharedDisplayObject && 
+            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested)
+        {
+            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested = false;
+            decoratorDisplay.validateDisplayList();
         }
     }
     

     */
    public function invalidateGraphicElementProperties(element:IGraphicElement):void
    {
        iconNeedsValidateProperties = true;
        invalidateProperties();
    }
    

import flash.display.DisplayObject;
import flash.events.TimerEvent;
import flash.net.URLRequest;
import flash.system.Capabilities;
import flash.text.TextFieldType;
import flash.text.TextLineMetrics;
import flash.utils.Timer;

import mx.controls.listClasses.*;
import mx.core.FlexGlobals;
import mx.core.DPIClassification;
import mx.core.IFlexDisplayObject;
import mx.core.IVisualElement;
