     }
 
     //----------------------------------
+    //  multiline
+    //----------------------------------
+    
+    private var multilineSet:Boolean = false;  // true if explicitly set
+    
+    /**
+     *  @private
+     */
+    override public function set multiline(value:Boolean):void
+    {
+        super.multiline = value;
+        multilineSet = true;        
+    }
+    
+    /**
+     *  @private
+     *  See updatePreferredSize().
+     */
+    private function setMultiline(value:Boolean):void
+    {
+        super.multiline = value;
+    }
+
+    //----------------------------------
     //  text
     //----------------------------------
 

     */
    public function discard(hasBeenRecycled:Boolean):void
    {
    }    
    
    //--------------------------------------------------------------------------

        
        if (!wordWrapSet && column && column.grid)
            super.wordWrap = column.grid.variableRowHeight;
   
        // Only automatically set multiline="true" if lineBreak="explicit" and the
        // text actually contains a newline, since doing so is expensive.

        if (!multilineSet && (getStyle("lineBreak") == "explicit"))
            setMultiline(_label.indexOf("\n") != -1);
        
        text = _label;
        super.validateNow();
