summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
3bbd958)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52079
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#include "wx/msw/debughlp.h"
#endif
#endif // wxUSE_STACKWALKER
#include "wx/msw/debughlp.h"
#endif
#endif // wxUSE_STACKWALKER
+
+ #include "wx/recguard.h"
#endif // __WXDEBUG__
// wxABI_VERSION can be defined when compiling applications but it should be
#endif // __WXDEBUG__
// wxABI_VERSION can be defined when compiling applications but it should be
const wxString& szMsg = wxEmptyString)
{
// FIXME MT-unsafe
const wxString& szMsg = wxEmptyString)
{
// FIXME MT-unsafe
- static bool s_bInAssert = false;
+ static int s_bInAssert = 0;
+ wxRecursionGuard guard(s_bInAssert);
+ if ( guard.IsInside() )
- // He-e-e-e-elp!! we're trapped in endless loop
+ // can't use assert here to avoid infinite loops, so just trap
if ( !wxTheApp )
{
// by default, show the assert dialog box -- we can't customize this
if ( !wxTheApp )
{
// by default, show the assert dialog box -- we can't customize this
wxTheApp->OnAssertFailure(szFile.c_str(), nLine, szFunc.c_str(),
szCond.c_str(), szMsg.c_str());
}
wxTheApp->OnAssertFailure(szFile.c_str(), nLine, szFunc.c_str(),
szCond.c_str(), szMsg.c_str());
}
}
void wxOnAssert(const wxString& szFile,
}
void wxOnAssert(const wxString& szFile,