     {
         super.measure();
         
-        // commit styles so we can get a valid textHeight
-        textDisplay.commitStyles();
+        var textHeight:Number = 24;
+        
+        if (textDisplay)
+        {
+            // temporarily change text for measurement
+            var oldText:String = textDisplay.text;
+            
+            // commit styles so we can get a valid textHeight
+            textDisplay.text = "Wj";
+            textDisplay.commitStyles();
+            
+            textHeight = textDisplay.textHeight;
+            textDisplay.text = oldText;
+        }
+        
+        var paddingLeft:Number = getStyle("paddingLeft");
+        var paddingRight:Number = getStyle("paddingRight");
+        var paddingTop:Number = getStyle("paddingTop");
+        var paddingBottom:Number = getStyle("paddingBottom");
         
         // Width is based on maxChars (if set), or hard-coded to 440
         if (hostComponent && hostComponent.maxChars)

        textDisplay = StyleableTextField(createInFontContext(StyleableTextField));
        textDisplay.styleProvider = this;
        textDisplay.editable = true;
		textDisplay.addEventListener("editableChanged", editableChangedHandler);
        addChild(textDisplay);
    }
    
    /**

    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {
        super.updateDisplayList(unscaledWidth, unscaledHeight);
        
        var borderSize:uint = (border) ? BORDER_SIZE : 0;
        var borderWidth:uint = borderSize * 2;
        
        // Draw the contentBackgroundColor
        graphics.clear();
        graphics.beginFill(getStyle("contentBackgroundColor"), getStyle("contentBackgroundAlpha"));
        graphics.drawRoundRect(borderSize, borderSize, unscaledWidth - borderWidth, unscaledHeight - borderWidth, CORNER_ELLIPSE_SIZE, CORNER_ELLIPSE_SIZE);
        graphics.endFill();
        
        // position & size border
        if (border)
        {
            resizePart(border, unscaledWidth, unscaledHeight);
            positionPart(border, 0, 0);
        }
        
        // position & size the text
        var paddingLeft:Number = getStyle("paddingLeft");
        var paddingRight:Number = getStyle("paddingRight");
        var paddingTop:Number = getStyle("paddingTop");
        var paddingBottom:Number = getStyle("paddingBottom");
        
        if (textDisplay)
        {
            textDisplay.commitStyles();
            
            var textHeight:Number = textDisplay.textHeight;
            var textTop:Number = Math.round((unscaledHeight - textHeight) / 2);
            
            // verticalAlign=middle
            textTop = Math.max(textTop, paddingTop);
            
            resizePart(textDisplay, unscaledWidth - paddingLeft - paddingRight, unscaledHeight - paddingTop - paddingBottom);
            positionPart(textDisplay, paddingLeft, textTop);
        }
        
        if (promptDisplay)
        {
            promptDisplay.commitStyles();
            resizePart(promptDisplay, unscaledWidth - paddingLeft - paddingRight, unscaledHeight - paddingTop - paddingBottom);
            positionPart(promptDisplay, paddingLeft, textTop);
        }
    }
    
    /**
