Instead of always logging C++ assertions, added wxPYAPP_ASSERT_LOG

flag to turn it on.  In most cases turning it into an exception (the
default behavior) is enough.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@19671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-03-21 18:57:05 +00:00
parent 854b358232
commit 8e10035b0a
4 changed files with 26 additions and 8 deletions

View File

@@ -198,11 +198,6 @@ void wxPyApp::OnAssert(const wxChar *file,
buf += msg;
}
// Send it to the normal log destination, but only if
// not _DIALOG because it will call this too
if ( !(m_assertMode & wxPYAPP_ASSERT_DIALOG))
wxLogDebug(buf);
// set the exception
wxPyBeginBlockThreads();
PyObject* s = wx2PyString(buf);
@@ -215,6 +210,20 @@ void wxPyApp::OnAssert(const wxChar *file,
// NULL, signalling the exception to Python.
}
// Send it to the normal log destination, but only if
// not _DIALOG because it will call this too
if ( (m_assertMode & wxPYAPP_ASSERT_LOG) && !(m_assertMode & wxPYAPP_ASSERT_DIALOG)) {
wxString buf;
buf.Alloc(4096);
buf.Printf(wxT("%s(%d): assert \"%s\" failed"),
file, line, cond);
if (msg != NULL) {
buf += wxT(": ");
buf += msg;
}
wxLogDebug(buf);
}
// do the normal wx assert dialog?
if (m_assertMode & wxPYAPP_ASSERT_DIALOG)
wxApp::OnAssert(file, line, cond, msg);