Otherwise no events can be dispatched to any other window after
wxDebugReportPreviewStd::Show() is called, resulting in apparent hanging of
the application as can be seen in debugrpt sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64379
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#ifdef __WXMSW__
#include "wx/evtloop.h" // for SetCriticalWindow()
+ #include "wx/scopeguard.h"
#endif // __WXMSW__
// ----------------------------------------------------------------------------
// before entering the event loop (from ShowModal()), block the event
// handling for all other windows as this could result in more crashes
wxEventLoop::SetCriticalWindow(&dlg);
+
+ wxON_BLOCK_EXIT1( wxEventLoop::SetCriticalWindow,
+ static_cast<wxWindow *>(NULL) );
#endif // __WXMSW__
return dlg.ShowModal() == wxID_OK && dbgrpt.GetFilesCount() != 0;