choosing "Cancel" in the message box which appears when an wxASSERT fails also

suppresses wxLogDebug() messages


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1998-07-23 15:57:47 +00:00
parent 63fec618dc
commit 9ec05cc986

View File

@@ -213,8 +213,8 @@ wxLog::wxLog()
m_ulTraceMask = (wxTraceMask)0; // -1 to set all bits m_ulTraceMask = (wxTraceMask)0; // -1 to set all bits
} }
wxLog *wxLog::GetActiveTarget() wxLog *wxLog::GetActiveTarget()
{ {
if ( !ms_bInitialized ) { if ( !ms_bInitialized ) {
// prevent infinite recursion if someone calls wxLogXXX() from // prevent infinite recursion if someone calls wxLogXXX() from
// wxApp::CreateLogTarget() // wxApp::CreateLogTarget()
@@ -230,20 +230,20 @@ wxLog *wxLog::GetActiveTarget()
// do nothing if it fails - what can we do? // do nothing if it fails - what can we do?
} }
return ms_pLogger; return ms_pLogger;
} }
wxLog *wxLog::SetActiveTarget(wxLog *pLogger) wxLog *wxLog::SetActiveTarget(wxLog *pLogger)
{ {
// flush the old messages before changing // flush the old messages before changing
if ( ms_pLogger != NULL ) if ( ms_pLogger != NULL )
ms_pLogger->Flush(); ms_pLogger->Flush();
ms_bInitialized = TRUE; ms_bInitialized = TRUE;
wxLog *pOldLogger = ms_pLogger; wxLog *pOldLogger = ms_pLogger;
ms_pLogger = pLogger; ms_pLogger = pLogger;
return pOldLogger; return pOldLogger;
} }
void wxLog::DoLog(wxLogLevel level, const char *szString) void wxLog::DoLog(wxLogLevel level, const char *szString)
@@ -300,7 +300,7 @@ void wxLog::DoLog(wxLogLevel level, const char *szString)
DoLogString(str << (level == wxLOG_Trace ? _("Trace") : _("Debug")) DoLogString(str << (level == wxLOG_Trace ? _("Trace") : _("Debug"))
<< ": " << szString); << ": " << szString);
#endif #endif
break; break;
default: default:
@@ -389,10 +389,10 @@ void wxLogGui::Flush()
return; return;
// @@@ ugly... // @@@ ugly...
// concatenate all strings (but not too many to not overfill the msg box) // concatenate all strings (but not too many to not overfill the msg box)
wxString str; wxString str;
uint nLines = 0, uint nLines = 0,
nMsgCount = m_aMessages.Count(); nMsgCount = m_aMessages.Count();
// start from the most recent message // start from the most recent message
@@ -477,7 +477,7 @@ void wxLogGui::DoLog(wxLogLevel level, const char *szString)
m_aMessages.Add(szString); m_aMessages.Add(szString);
break; break;
default: default:
wxFAIL_MSG("unknown log level in wxLogGui::DoLog"); wxFAIL_MSG("unknown log level in wxLogGui::DoLog");
} }
@@ -523,7 +523,7 @@ BEGIN_EVENT_TABLE(wxLogFrame, wxFrame)
EVT_MENU(Menu_Clear, wxLogFrame::OnClear) EVT_MENU(Menu_Clear, wxLogFrame::OnClear)
EVT_CLOSE(wxLogFrame::OnCloseWindow) EVT_CLOSE(wxLogFrame::OnCloseWindow)
END_EVENT_TABLE() END_EVENT_TABLE()
wxLogFrame::wxLogFrame(const char *szTitle) wxLogFrame::wxLogFrame(const char *szTitle)
: wxFrame(NULL, -1, szTitle) : wxFrame(NULL, -1, szTitle)
@@ -618,7 +618,6 @@ void wxLogFrame::OnSave(wxCommandEvent& event)
// retrieve text and save it // retrieve text and save it
// ------------------------- // -------------------------
#ifdef __WXGTK__ #ifdef __WXGTK__
// @@@@ TODO: no GetNumberOfLines and GetLineText in wxGTK yet // @@@@ TODO: no GetNumberOfLines and GetLineText in wxGTK yet
wxLogError("Sorry, this function is not implemented under GTK"); wxLogError("Sorry, this function is not implemented under GTK");
@@ -628,7 +627,7 @@ void wxLogFrame::OnSave(wxCommandEvent& event)
bOk = file.Write(m_pTextCtrl->GetLineText(nLine) + wxTextFile::GetEOL()); bOk = file.Write(m_pTextCtrl->GetLineText(nLine) + wxTextFile::GetEOL());
} }
#endif //GTK #endif //GTK
if ( bOk ) if ( bOk )
bOk = file.Close(); bOk = file.Close();
@@ -647,7 +646,7 @@ wxLogWindow::wxLogWindow(const char *szTitle, bool bShow)
{ {
m_pOldLog = wxLog::GetActiveTarget(); m_pOldLog = wxLog::GetActiveTarget();
m_pLogFrame = new wxLogFrame(szTitle); m_pLogFrame = new wxLogFrame(szTitle);
if ( bShow ) if ( bShow )
m_pLogFrame->Show(TRUE); m_pLogFrame->Show(TRUE);
} }
@@ -661,13 +660,13 @@ void wxLogWindow::DoLog(wxLogLevel level, const char *szString)
{ {
// first let the previous logger show it // first let the previous logger show it
if ( m_pOldLog != NULL ) { if ( m_pOldLog != NULL ) {
// @@@ why can't we access protected wxLog method from here (we derive // @@@ why can't we access protected wxLog method from here (we derive
// from wxLog)? gcc gives "DoLog is protected in this context", what // from wxLog)? gcc gives "DoLog is protected in this context", what
// does this mean? Anyhow, the cast is harmless and let's us do what // does this mean? Anyhow, the cast is harmless and let's us do what
// we want. // we want.
((wxLogWindow *)m_pOldLog)->DoLog(level, szString); ((wxLogWindow *)m_pOldLog)->DoLog(level, szString);
} }
// and this will format it nicely and call our DoLogString() // and this will format it nicely and call our DoLogString()
wxLog::DoLog(level, szString); wxLog::DoLog(level, szString);
} }
@@ -776,7 +775,7 @@ const char *wxSysErrorMsg(unsigned long nErrCode)
// get error message from system // get error message from system
LPVOID lpMsgBuf; LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL, nErrCode, NULL, nErrCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpMsgBuf, (LPTSTR)&lpMsgBuf,
0, NULL); 0, NULL);
@@ -844,10 +843,10 @@ void wxOnAssert(const char *szFile, int nLine, const char *szMsg)
strcat(szBuf, "."); strcat(szBuf, ".");
} }
// send it to the normal log destination
wxLogDebug(szBuf);
if ( !s_bNoAsserts ) { if ( !s_bNoAsserts ) {
// send it to the normal log destination
wxLogDebug(szBuf);
strcat(szBuf, _("\nDo you want to stop the program?" strcat(szBuf, _("\nDo you want to stop the program?"
"\nYou can also choose [Cancel] to suppress " "\nYou can also choose [Cancel] to suppress "
"further warnings.")); "further warnings."));
@@ -861,7 +860,7 @@ void wxOnAssert(const char *szFile, int nLine, const char *szMsg)
case wxCANCEL: case wxCANCEL:
s_bNoAsserts = TRUE; s_bNoAsserts = TRUE;
break; break;
//case wxNO: nothing to do //case wxNO: nothing to do
} }
} }