     public function TextGraphicElement()
     {
         super();
+
+		var resourceManager:IResourceManager = ResourceManager.getInstance();
+                                    
+		if (!mx_internal::truncationIndicatorResource)
+        {
+            mx_internal::truncationIndicatorResource = resourceManager.getString(
+                "core", "truncationIndicator");
+        }
+                
+        // Register as a weak listener for "change" events from ResourceManager.
+        // If UITextFields registered as a strong listener,
+        // they wouldn't get garbage collected.
+        resourceManager.addEventListener(
+            Event.CHANGE, resourceManager_changeHandler, false, 0, true);
     }
     
     //--------------------------------------------------------------------------

import flash.display.DisplayObjectContainer;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.text.engine.TextLine;

import mx.core.mx_internal;
import mx.styles.CSSStyleDeclaration;
import mx.styles.IAdvancedStyleClient;
import mx.styles.StyleManager;

            text = isEmpty ? "" : text;
        }
    }
    
    //--------------------------------------------------------------------------
    //
    //  Event handlers
    //
    //--------------------------------------------------------------------------

    /**
     *  @private
     */
    private function resourceManager_changeHandler(event:Event):void
    {
		var resourceManager:IResourceManager = ResourceManager.getInstance();

        mx_internal::truncationIndicatorResource = resourceManager.getString(
            "core", "truncationIndicator");

        invalidateSize();
        invalidateDisplayList();
    }
}

}
