X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/954f8d64fb6202884b4ad5c235af188e9a6622e4..1437c7fba67d0276fd14e2be839c0492b087444b:/src/generic/logg.cpp diff --git a/src/generic/logg.cpp b/src/generic/logg.cpp index be7d63af69..4cbdd36235 100644 --- a/src/generic/logg.cpp +++ b/src/generic/logg.cpp @@ -417,10 +417,25 @@ void wxLogGui::DoLogRecord(wxLogLevel level, m_bHasMessages = true; break; - default: - // let the base class deal with debug/trace messages as well as any - // custom levels + case wxLOG_Debug: + case wxLOG_Trace: + // let the base class deal with debug/trace messages wxLog::DoLogRecord(level, msg, info); + break; + + case wxLOG_FatalError: + case wxLOG_Max: + // fatal errors are shown immediately and terminate the program so + // we should never see them here + wxFAIL_MSG("unexpected log level"); + break; + + case wxLOG_Progress: + case wxLOG_User: + // just ignore those: passing them to the base class would result + // in asserts from DoLogText() because DoLogTextAtLevel() would + // call it as it doesn't know how to handle these levels otherwise + break; } } @@ -595,6 +610,11 @@ wxLogWindow::wxLogWindow(wxWindow *pParent, bool bShow, bool bDoPass) { + // Initialize it to NULL to ensure that we don't crash if any log messages + // are generated before the frame is fully created (while this doesn't + // happen normally, it might, in principle). + m_pLogFrame = NULL; + PassMessages(bDoPass); m_pLogFrame = new wxLogFrame(pParent, this, szTitle); @@ -814,7 +834,7 @@ void wxLogDialog::CreateDetailsControls(wxWindow *parent) wxImageList *imageList = new wxImageList(ICON_SIZE, ICON_SIZE); // order should be the same as in the switch below! - static const wxChar* const icons[] = + static const char* const icons[] = { wxART_ERROR, wxART_WARNING,