      */
     private function textDisplay_changeHandler(event:Event):void
     {
-        invalidateDisplayList();
-        invalidateCaretPosition = true;
-        
-        if (isNaN(hostComponent.explicitHeight))
-        {
-            // invalidate TextAreaSkin size to grow/shrink with content
-            invalidateSize();
-        }
-        else
-        {
-            // invalidate the Group size to update the Scroller
-            textDisplayGroup.invalidateSize();
-        }
+		invalidateSize();
+		if (isScrollingActive())
+		{
+	        invalidateDisplayList();
+	        invalidateCaretPosition = true;   
+		}
     }
     
     /**

    private function textDisplay_keyHandler(event:KeyboardEvent):void
    {
        // update scroll position when caret changes
        if (!isNaN(hostComponent.explicitHeight) &&
            (event.keyCode == Keyboard.UP
                || event.keyCode == Keyboard.DOWN
                || event.keyCode == Keyboard.LEFT
                || event.keyCode == Keyboard.RIGHT))
        {
            invalidateDisplayList();
            invalidateCaretPosition = true;
        }
    }
    
    /**

            textDisplay.addEventListener(Event.CHANGE, textDisplay_changeHandler);
            textDisplay.addEventListener(FlexEvent.VALUE_COMMIT, textDisplay_changeHandler);
            
			textDisplay.left = getStyle("paddingLeft");
			textDisplay.top = getStyle("paddingTop");
			textDisplay.right = getStyle("paddingRight");
			textDisplay.bottom = getStyle("paddingBottom");
			
            // wrap StyleableTextComponent in Group for viewport
            textDisplayGroup = new Group();
            textDisplayGroup.clipAndEnableScrolling = true;
            textDisplayGroup.addElement(textDisplay);
        }
