wxEVT_SCROLLWIN_TOP - wxEVT_SCROLL_TOP;
 }
 
+// Needed for implementing e.g. combobox on wxGTK within a modal dialog.
+void wxAddGrab(wxWindow* window);
+void wxRemoveGrab(wxWindow* window);
+
 #ifdef __WXGTK20__
 // Escapes string so that it is valid Pango markup XML string:
 WXDLLIMPEXP_CORE wxString wxEscapeStringForPangoMarkup(const wxString& str);
 
             wxEVT_SCROLLWIN_TOP - wxEVT_SCROLL_TOP;
 }
 
+// Needed for implementing e.g. combobox on wxGTK within a modal dialog.
+void wxAddGrab(wxWindow* window);
+void wxRemoveGrab(wxWindow* window);
+
 #ifdef __WXGTK20__
 // Escapes string so that it is valid Pango markup XML string:
 WXDLLIMPEXP_CORE wxString wxEscapeStringForPangoMarkup(const wxString& str);
 
 
 }
 
+// Needed for implementing e.g. combobox on wxGTK within a modal dialog.
+void wxAddGrab(wxWindow* window)
+{
+    gtk_grab_add( (GtkWidget*) window->GetHandle() );
+}
+
+void wxRemoveGrab(wxWindow* window)
+{
+    gtk_grab_remove( (GtkWidget*) window->GetHandle() );
+}
+
 // ----------------------------------------------------------------------------
-// wxDCModule
+// wxWinModule
 // ----------------------------------------------------------------------------
 
 class wxWinModule : public wxModule
         gdk_gc_unref( g_eraseGC );
 }
 
-// vi:sts=4:sw=4:et
 
 
 }
 
+// Needed for implementing e.g. combobox on wxGTK within a modal dialog.
+void wxAddGrab(wxWindow* window)
+{
+    gtk_grab_add( (GtkWidget*) window->GetHandle() );
+}
+
+void wxRemoveGrab(wxWindow* window)
+{
+    gtk_grab_remove( (GtkWidget*) window->GetHandle() );
+}
+
 // ----------------------------------------------------------------------------
-// wxDCModule
+// wxWinModule
 // ----------------------------------------------------------------------------
 
 class wxWinModule : public wxModule
         gdk_gc_unref( g_eraseGC );
 }
 
-// vi:sts=4:sw=4:et