 			}
 			return text;
 		}
-		
+
+		override protected function validateAfterChildren() : void
+		{
+			m_stylesInvalidated ||= m_overflowIsInvalid;
+			super.validateAfterChildren();
+		}
+
 		protected override function applyOverflowProperty() : void
 		{
 			if (!m_overflowIsInvalid)

		
		protected function applyLabel(labelXML : XML) : void
		{
			var oldWidth : int = m_labelDisplay.textWidth;
			var oldHeight : int = m_labelDisplay.textHeight;
			
			if (m_currentStyles.width)
			{
				m_labelDisplay.width = m_currentStyles.width + 6;
			}
			else
			{
				m_labelDisplay.autoSize = 'left';
			}
			
			XML.prettyPrinting = false;
			var text : String = labelXML.toXMLString();
			XML.prettyPrinting = true;
			if (text.substr(0, text.length - 3) != m_labelDisplay.htmlText)
			{
				m_labelDisplay.htmlText = text.substr(0, text.length - 3);
				m_usedLabelXML = labelXML;
				m_cacheInvalid = true;
			}
			
			if (m_labelDisplay.wordWrap)
			{

				}
			}
			
			m_overflowIsInvalid = true;
		}
		
		protected override function applyInFlowChildPositions() : void
