      *  updateDisplayList() method called.
      */
     mx_internal var invalidateDisplayListFlag:Boolean = false;
+    
+    /**
+     *  @private
+     *  Whether setActualSize() has been called on this component
+     *  at least once.  This is used in validateBaselinePosition()
+     *  to resize the component to explicit or measured
+     *  size if baselinePosition getter is called before the
+     *  component has been resized by the layout.
+     */
+    mx_internal var setActualSizeCalled:Boolean = false;
 
     //--------------------------------------------------------------------------
     //

            invalidateDisplayList();
            dispatchResizeEvent();
        }
    }

    //--------------------------------------------------------------------------


        // If this component hasn't been sized yet, assign it
        // an actual size that's based on its explicit or measured size.
        //
        // TODO (egeorgie): remove this code when all SDK clients
        // follow the rule to size first and query baselinePosition later.
        if (!setActualSizeCalled && (width == 0 || height == 0))
        {
            validateNow();

