X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7b28757f5e64bac68d9b159240616fc4d9ad66bc..79f585d90388128f9d245f7c92d3013b98b9ed14:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index b8a6a17e00..90436f9340 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -103,14 +103,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title, wxClientDC dc(this); dc.SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT)); long widthText; -#if defined(__VISAGECPP__) -// have two versions of this in wxWindowDC tp avoid function hiding -// since there are two of these in wxDCBase, and in turn in wxDC. -// VA cannot resolve this so: dc.GetTextExtent(message, &widthText, NULL, NULL, NULL, NULL); -#else - dc.GetTextExtent(message, &widthText, (long*)NULL); -#endif m_msg = new wxStaticText(this, -1, message); c = new wxLayoutConstraints; @@ -218,14 +211,15 @@ wxProgressDialog::wxProgressDialog(wxString const &title, Centre(wxCENTER_FRAME | wxBOTH); - if ( !(style & wxPD_APP_MODAL) ) + if ( style & wxPD_APP_MODAL ) { - if ( m_parentTop ) - m_parentTop->Enable(FALSE); + m_winDisabler = new wxWindowDisabler(this); } else { - wxEnableTopLevelWindows(FALSE); + if ( m_parentTop ) + m_parentTop->Enable(FALSE); + m_winDisabler = NULL; } Show(TRUE); @@ -389,14 +383,14 @@ void wxProgressDialog::OnClose(wxCloseEvent& event) wxProgressDialog::~wxProgressDialog() { - if ( !(GetWindowStyle() & wxPD_APP_MODAL) ) + if ( GetWindowStyle() & wxPD_APP_MODAL ) { - if ( m_parentTop ) - m_parentTop->Enable(TRUE); + delete m_winDisabler; } else { - wxEnableTopLevelWindows(TRUE); + if ( m_parentTop ) + m_parentTop->Enable(TRUE); } }