diff --git a/src/msw/progdlg.cpp b/src/msw/progdlg.cpp index 2f1131a5dc..46416402c5 100644 --- a/src/msw/progdlg.cpp +++ b/src/msw/progdlg.cpp @@ -1133,18 +1133,6 @@ wxProgressDialogTaskRunner::TaskDialogCallbackProc LONG_PTR dwRefData ) { - if ( uNotification == TDN_CREATED ) - { - // The main thread may be sitting in an event dispatching loop waiting - // for this dialog to be shown, so make sure it does wake up now that - // it is. Notice that we must do it from here and not from inside the - // block below in which sharedData is locked as otherwise we could - // deadlock if wxWakeUpIdle() dispatched some event which tried to call - // any of wxProgressDialog methods, which also lock this data, from the - // main thread. - wxWakeUpIdle(); - } - bool endDialog = false; // Block for shared data critical section. @@ -1160,6 +1148,10 @@ wxProgressDialogTaskRunner::TaskDialogCallbackProc // Store the HWND for the main thread use. sharedData->m_hwnd = hwnd; + // The main thread is sitting in an event dispatching loop waiting + // for this dialog to be shown, so make sure it does get an event. + wxWakeUpIdle(); + // Set the maximum value and disable Close button. ::SendMessage( hwnd, TDM_SET_PROGRESS_BAR_RANGE,