{ (void)Create(parent, flags); }
 
     bool Create(wxWindow *parent, int flags = wxBORDER_NONE);
+    
+    virtual bool Show(bool show);
 
 protected:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxPopupWindow)
 
 
 }
 
+bool wxPopupWindow::Show(bool show)
+{
+    if ( !wxWindow::Show(show) )
+        return false;
+
+    if ( m_nowpeer && show)
+        m_nowpeer->ShowWithoutActivating();
+    else if ( m_nowpeer )
+        m_nowpeer->Show(false);
+
+    if ( show )
+    {
+        // because apps expect a size event to occur at this moment
+        wxSizeEvent event(GetSize() , m_windowId);
+        event.SetEventObject(this);
+        HandleWindowEvent(event);
+    }
+        
+    return true;
+}
+
 #endif // #if wxUSE_POPUPWIN