     //--------------------------------------------------------------------------
 
     //----------------------------------
+    //  mouseChildren
+    //----------------------------------
+
+    private var _explicitMouseChildren:Boolean = true;
+
+    /**
+     *  @private
+     */
+    override public function set mouseChildren(value:Boolean):void
+    {
+        if (enabled)
+            super.mouseChildren = value;
+        _explicitMouseChildren = value;
+    }
+
+    //----------------------------------
+    //  mouseEnabled
+    //----------------------------------
+
+    private var _explicitMouseEnabled:Boolean = true;
+
+    /**
+     *  @private
+     */
+    override public function set mouseEnabled(value:Boolean):void
+    {
+        if (enabled)
+            super.mouseEnabled = value;
+        _explicitMouseEnabled = value;
+    }
+
+    //----------------------------------
     //  enabled
     //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var enabledChanged:Boolean = false;
 
     /**
      *  @private

            return;
        
        super.enabled = value;
        enabledChanged = true;
        
        invalidateSkinState();
        
        // We update the mouseShield that prevents clicks to propagate to
        // children in our updateDisplayList.
        invalidateDisplayList();
    }
    
    //----------------------------------
    //  baselinePosition
    //----------------------------------

     */
    mx_internal var parentDrawsFocus:Boolean = false;

    //--------------------------------------------------------------------------
    //
    //  Overridden properties: UIComponent
