      */
     private function hideEffectEndHandler(event:Event):void
     {
-        _nativeWindow.visible = false;
-        
-        dispatchEvent(new FlexEvent(FlexEvent.HIDE));
+        if (!_nativeWindow.closed)
+            _nativeWindow.visible = false;
+        removeEventListener(EffectEvent.EFFECT_END, hideEffectEndHandler);
     }
 
     /**

                else
                {
                    _nativeWindow.visible = value;
                    dispatchEvent(e);
                }
            }
        }
    }

     */ 
    override public function get visible():Boolean
    {
        if (nativeWindow && nativeWindow.closed)
            return false;
        if (nativeWindow)
            return nativeWindow.visible;
        else
            return _nativeWindowVisible;
    }
    
    /**
     *  @private
     */
