]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/popupwin.cpp
Fixed yet another error in my wxCmdLineParser mdifications.
[wxWidgets.git] / src / gtk1 / popupwin.cpp
index 7f63baa20fff783663d2301ad0785a2d5f2b5945..923a68bbd1167a5b7861d2b6315acf4ec55dc6ab 100644 (file)
@@ -149,6 +149,12 @@ END_EVENT_TABLE()
 
 IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow, wxWindow)
 
 
 IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow, wxWindow)
 
+wxPopupWindow::~wxPopupWindow()
+{
+    if (GTK_WIDGET_HAS_GRAB(m_widget))
+        gtk_grab_remove( m_widget );
+}
+
 bool wxPopupWindow::Create( wxWindow *parent, int style )
 {
     m_needParent = FALSE;
 bool wxPopupWindow::Create( wxWindow *parent, int style )
 {
     m_needParent = FALSE;
@@ -342,9 +348,15 @@ bool wxPopupWindow::Show( bool show )
 
         GtkOnSize( m_x, m_y, m_width, m_height );
     }
 
         GtkOnSize( m_x, m_y, m_width, m_height );
     }
-
+    
+    if (!show)
+        gtk_grab_remove( m_widget );
+    
     bool ret = wxWindow::Show( show );
     bool ret = wxWindow::Show( show );
-
+    
+    if (show)
+        gtk_grab_add( m_widget );
+    
     return ret;
 }
 
     return ret;
 }