X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe8635a7e78715344f0f4b6abc9d797931429333..f1f5f16f780bb41aa2ea24ccbf728f14c86cc475:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index cffe7fce24..7541a816bb 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -438,18 +438,9 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) Hide(); } } - else + else // not at maximum yet { - // we have to yield because not only we want to update the display but - // also to process the clicks on the cancel and skip buttons - wxYieldIfNeeded() ; - - if ( (m_skip) && (skip != NULL) && (*skip == false) ) - { - *skip = true; - m_skip = false; - EnableSkip(); - } + return DoAfterUpdate(skip); } // update the display in case yielding above didn't do it @@ -458,8 +449,7 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) return m_state != Canceled; } -bool -wxProgressDialog::UpdatePulse(const wxString& newmsg, bool *skip) +bool wxProgressDialog::Pulse(const wxString& newmsg, bool *skip) { wxASSERT_MSG( m_gauge, wxT("cannot update non existent dialog") ); @@ -477,11 +467,18 @@ wxProgressDialog::UpdatePulse(const wxString& newmsg, bool *skip) SetTimeLabel((unsigned long)-1, m_remaining); } + return DoAfterUpdate(skip); +} + +bool wxProgressDialog::DoAfterUpdate(bool *skip) +{ // we have to yield because not only we want to update the display but // also to process the clicks on the cancel and skip buttons - wxYieldIfNeeded() ; + wxYieldIfNeeded(); + + Update(); - if ( (m_skip) && (skip != NULL) && (*skip == false) ) + if ( m_skip && skip && !*skip ) { *skip = true; m_skip = false;