         {
             super.explicitWidth = value;
             
-            widthConstraint = NaN;
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(NaN, estimatedHeight);
             
             // Because of autoSizing, the size and display might be impacted.
             invalidateSize();

            
            // Is there some sort of width and some sort of height?
            return  (!isNaN(explicitWidth) || !isNaN(_widthInChars) ||
                !isNaN(widthConstraint)) &&
                    (!isNaN(explicitHeight) || !isNaN(_heightInLines) ||
                        !isNaN(heightConstraint));
        }
        
        /**

            }
            
            super.drawFocus(isFocused);
        }
        
        /**
         *  @inheritDoc
         *  
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.0
         *  @productversion Flex 4.5
         */
        override public function setEstimatedSize(estimatedWidth:Number = NaN, 
                                                  estimatedHeight:Number = NaN,
                                                  invalidateSizeAllowed:Boolean = true):void
        {
            var oldcw:Number = this.estimatedWidth;
            var oldch:Number = this.estimatedHeight;
            super.setEstimatedSize(estimatedWidth, estimatedHeight, invalidateSizeAllowed);
            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
            {
				var sameWidth:Boolean = isNaN(estimatedWidth) && isNaN(oldcw) || estimatedWidth == oldcw;
				var sameHeight:Boolean = isNaN(estimatedHeight) && isNaN(oldch) || estimatedHeight == oldch;
				if (!(sameHeight && sameWidth))
                {
                    if (typicalText) return;
                    
                    if ((!isNaN(explicitWidth) || !isNaN(widthInChars)) &&
                        (!isNaN(explicitHeight) || !isNaN(heightInLines)))
                        return;
         
					if (invalidateSizeAllowed)
                    	invalidateSize();
                }
            }            
        }
        
        //--------------------------------------------------------------------------
