X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d610b90ffb5c212b429c717ebae5f605fc5fac7..415ca026b4d66c4c43ef5724dbf2072ad433eb1f:/src/common/log.cpp?ds=sidebyside diff --git a/src/common/log.cpp b/src/common/log.cpp index 837956d26a..e7669a12e9 100644 --- a/src/common/log.cpp +++ b/src/common/log.cpp @@ -750,31 +750,33 @@ void wxOnAssert(const wxChar *szFile, int nLine, const wxChar *szMsg) // developpers only wxStrcat(szBuf, wxT("\nDo you want to stop the program?\nYou can also choose [Cancel] to suppress further warnings.")); -#if wxUSE_GUI - switch ( wxMessageBox(szBuf, wxT("Debug"), - wxYES_NO | wxCANCEL | wxICON_STOP ) ) { - case wxYES: + // use the native message box if available: this is more robust than + // using our own +#ifdef __WXMSW__ + switch ( ::MessageBox(NULL, szBuf, _T("Debug"), + MB_YESNOCANCEL | MB_ICONSTOP ) ) { + case IDYES: Trap(); break; - case wxCANCEL: + case IDCANCEL: s_bNoAsserts = TRUE; break; - //case wxNO: nothing to do + //case IDNO: nothing to do } -#else // !GUI, but MSW - switch ( ::MessageBox(NULL, szBuf, _T("Debug"), - MB_YESNOCANCEL | MB_ICONSTOP ) ) { - case IDYES: +#else // !MSW + switch ( wxMessageBox(szBuf, wxT("Debug"), + wxYES_NO | wxCANCEL | wxICON_STOP ) ) { + case wxYES: Trap(); break; - case IDCANCEL: + case wxCANCEL: s_bNoAsserts = TRUE; break; - //case IDNO: nothing to do + //case wxNO: nothing to do } #endif // GUI or MSW