-    wxModalDialogs.Append(this);
-    if (pOldFocus)
-        hWndOldFocus = (HWND)pOldFocus->GetHWND();
-
-    //
-    // Remember where the focus was
-    //
-    if (!pOldFocus)
-    {
-        pOldFocus = pParent;
-        if (pParent)
-            hWndOldFocus = GetHwndOf(pParent);
-    }
-
-    //
-    // Disable all other app windows
-    //
-    wxASSERT_MSG(!m_pWindowDisabler, _T("disabling windows twice?"));
-
-    m_pWindowDisabler = new wxWindowDisabler(this);
-
-    //
-    // Enter the modal loop
-    //
-    while ( IsModalShowing() )
-    {
-#if wxUSE_THREADS
-        wxMutexGuiLeaveOrEnter();
-#endif // wxUSE_THREADS
-
-        while ( !wxTheApp->Pending() && wxTheApp->ProcessIdle() )
-            ;
-
-        // a message came or no more idle processing to do
-        wxTheApp->DoMessage();
-    }
-
-    //
-    // Snd restore focus
-    // Note that this code MUST NOT access the dialog object's data
-    // in case the object has been deleted (which will be the case
-    // for a modal dialog that has been destroyed before calling EndModal).
-    //
-    if (pOldFocus && (pOldFocus != this) && ::WinIsWindow(vHabmain, hWndOldFocus))
-    {
-        //
-        // This is likely to prove that the object still exists
-        //
-        if (wxFindWinFromHandle((WXHWND) hWndOldFocus) == pOldFocus)
-            pOldFocus->SetFocus();
-    }
-} // end of wxDialog::DoShowModal
-
-bool wxDialog::Show(
-  bool                              bShow
-)