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:
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user