X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff095200f79b459f1159f59d031b1c50c0b3194b..cfcc39321282c5877cbb45248bb8004ced24516b:/src/generic/progdlgg.cpp?ds=sidebyside diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index ee3323037a..c99c98dac7 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -269,11 +269,6 @@ wxProgressDialog::wxProgressDialog(wxString const &title, // Update the display (especially on X, GTK) wxYield(); - // FIXME: shouldn't be needed -#ifdef __WXX11__ - wxYield(); -#endif - #ifdef __WXMAC__ MacUpdateImmediately(); #endif @@ -327,7 +322,7 @@ wxProgressDialog::Update(int value, const wxString& newmsg) wxASSERT_MSG( value <= m_maximum, wxT("invalid progress value") ); - if ( m_gauge ) + if ( m_gauge && value < m_maximum ) { m_gauge->SetValue(value + 1); } @@ -337,11 +332,6 @@ wxProgressDialog::Update(int value, const wxString& newmsg) m_msg->SetLabel(newmsg); wxYield(); - - // FIXME: shouldn't be needed -#ifdef __WXX11__ - wxYield(); -#endif } if ( (m_elapsed || m_remaining || m_estimated) && (value != 0) ) @@ -382,11 +372,6 @@ wxProgressDialog::Update(int value, const wxString& newmsg) wxYield(); - // FIXME: shouldn't be needed -#ifdef __WXX11__ - wxYield(); -#endif - (void)ShowModal(); } else // auto hide @@ -403,11 +388,6 @@ wxProgressDialog::Update(int value, const wxString& newmsg) { // update the display wxYield(); - - // FIXME: shouldn't be needed -#ifdef __WXX11__ - wxYield(); -#endif } #ifdef __WXMAC__ @@ -426,6 +406,17 @@ void wxProgressDialog::Resume() m_btnAbort->Enable(); } +bool wxProgressDialog::Show( bool show ) +{ + // reenable other windows before hiding this one because otherwise + // Windows wouldn't give the focus back to the window which had + // been previously focused because it would still be disabled + if(!show) + ReenableOtherWindows(); + + return wxDialog::Show(show); +} + // ---------------------------------------------------------------------------- // event handlers // ----------------------------------------------------------------------------