         if (value == _content)
             return;
 
+        // Setting 'content' temporarily causes 'text' to become null.
+        // Later, after the 'content' has been committed into the TextFlow,
+        // getting 'text' will extract the text from the TextFlow.
+        _text = null;
+        textChanged = false;
+
         _content = value;
         contentChanged = true;
-        textInvalid = true;
 
         invalidateSize();
         invalidateDisplayList();

    private var textChanged:Boolean = false;

    /**
     *  The text String displayed by this TextView..
     */
    public function get text():String 
    {

            textFlow.flowComposer = flowComposer;
            
            // Give it an EditManager to make it editable.
            textFlow.interactionManager = new TextViewEditManager();

            // Listen to events from the TextFlow and its EditManager.
            addListeners(textFlow);
            
