         }
         else
         {
+            showingPopUp = show;
+            
+            if (_popUp.parent == null)
+                return;
+
             point = _popUp.parent.globalToLocal(point);
 
             endY = (point.y + _popUp.height > screen.height && 

        // we'll be leaked.
        if (_popUp) {
            PopUpManager.removePopUp(_popUp);
            _popUp = null;
        }
    }
    

                               ? -_popUp.height - 2
                               : _popUp.height + 2);
            initY = 0;
            duration = getStyle("closeDuration")
            easingFunction = getStyle("closeEasingFunction") as Function;
        }
