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;
if (!PreCreation( parent, wxDefaultPosition, wxDefaultSize ) ||
- !CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, "popup" ))
+ !CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("popup") ))
{
wxFAIL_MSG( wxT("wxPopupWindow creation failed") );
return FALSE;
GtkOnSize( m_x, m_y, m_width, m_height );
}
-
+
+ if (!show)
+ gtk_grab_remove( m_widget );
+
bool ret = wxWindow::Show( show );
-
+
+ if (show)
+ gtk_grab_add( m_widget );
+
return ret;
}