+// Make the help controller's frame 'modal' if
+// needed
+void wxHtmlHelpController::AddGrabIfNeeded()
+{
+ // So far, wxGTK only
+#ifdef __WXGTK__
+ bool needGrab = FALSE;
+
+ // Check if there are any modal windows present,
+ // in which case we need to add a grab.
+ for ( wxWindowList::Node * node = wxTopLevelWindows.GetFirst();
+ node;
+ node = node->GetNext() )
+ {
+ wxWindow *win = node->GetData();
+ wxDialog *dialog = wxDynamicCast(win, wxDialog);
+
+ if (dialog && dialog->IsModal())
+ needGrab = TRUE;
+ }
+
+ if (needGrab && m_helpFrame)
+ m_helpFrame->AddGrab();