From 33957ef519bf47c77229bb9b07f1763bcac5d055 Mon Sep 17 00:00:00 2001 From: Francesco Montorsi Date: Thu, 19 Feb 2009 23:45:23 +0000 Subject: [PATCH] wxCHECK that there is an active event loop before using wxEventLoopBase::GetActive() pointer git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/progdlgg.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 257acaafe2..224f40a593 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -403,6 +403,9 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) m_msg->SetLabel(_("Done.")); } + wxCHECK_MSG(wxEventLoopBase::GetActive(), false, + "wxProgressDialog::Update needs a running event loop"); + // allow the window to repaint: // NOTE: since we yield only for UI events with this call, there // should be no side-effects @@ -454,6 +457,9 @@ bool wxProgressDialog::Pulse(const wxString& newmsg, bool *skip) bool wxProgressDialog::DoAfterUpdate(bool *skip) { + wxCHECK_MSG(wxEventLoopBase::GetActive(), false, + "wxProgressDialog::DoAfterUpdate needs a running event loop"); + // 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 // NOTE: using YieldFor() this call shouldn't give re-entrancy problems @@ -671,6 +677,9 @@ void wxProgressDialog::EnableClose() void wxProgressDialog::UpdateMessage(const wxString &newmsg) { + wxCHECK_RET(wxEventLoopBase::GetActive(), + "wxProgressDialog::UpdateMessage needs a running event loop"); + if ( !newmsg.empty() && newmsg != m_msg->GetLabel() ) { m_msg->SetLabel(newmsg);