      */
     private var widthConstraint:Number = NaN;
                 
+    /**
+     *  @private
+     *  True if this component sizes itself based on its actual
+     *  contents.  This happens if it's configured for autoSize, it is not
+     *  contained within a scroller and an explicit width and height are not
+     *  specified.
+     */
+    mx_internal var actuallyAutoSizing:Boolean = false;
+                
     //--------------------------------------------------------------------------
     //
     //  Overridden properties: UIComponent

import flashx.textLayout.elements.ParagraphElement;
import flashx.textLayout.elements.SpanElement;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.events.DamageEvent;
import flashx.textLayout.events.CompositionCompletionEvent;
import flashx.textLayout.events.FlowOperationEvent;
import flashx.textLayout.events.SelectionEvent;
import flashx.textLayout.formats.Category;


        super.updateDisplayList(unscaledWidth, unscaledHeight);

        // If we're autoSizing we're telling the layout manager one set of
        // values and TLF another set of values so there is room for the text
        // to grow.  The composition values for autoSize were set when the 
        // text was measured.
        if (!actuallyAutoSizing)
        {
            _inputManager.compositionWidth = unscaledWidth;
            _inputManager.compositionHeight = unscaledHeight;
