          */
         private function textContainerManager_damageHandler(event:DamageEvent):void
         {
-            if (ignoreDamageEvent || event.damageLength == 0)
+            if (event.damageLength == 0)
                 return;
+            
+            // Text that is being measured is damaged so update the display.
+            if (inMeasureMethod)
+            {
+                invalidateDisplayList();
+                return;
+            }
             
             //trace("damageHandler", "generation", _textFlow ? _textFlow.generation : -1, "lastGeneration", lastGeneration);
             

                    _textContainerManager.horizontalScrollPosition = 0;
                    _textContainerManager.verticalScrollPosition = 0;                
                }               
                
                invalidateDisplayList();     
            }
            
            ignoreDamageEvent = false;
            
            //trace("measure", measuredWidth, measuredHeight, "autoSize", autoSize);
        }

         */
        override protected function measure():void 
        {
            // If the damage handler is called while measuring text, this means
            // the text lines are damaged and the display needs to be updated. 
            // This flag tells the handler to invalidate just the display list.
            inMeasureMethod = true;
            
            super.measure();
            
