             if (textFlow && textFlow.flowComposer)
                 textFlow.flowComposer.removeControllerAt(0);
 
+            // If the text was changed, clear the selection.
+            if (textChanged || contentChanged)
+            	if (textFlow.interactionManager)
+                	textFlow.interactionManager.setSelection(-1, -1);
+            
             // Create a new TextFlow for the current text.
             _content = textFlow = createTextFlow();
                         

            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);
            

        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;

        invalidateSize();
        invalidateDisplayList();
