This results in an assert in DoLogText() which is not implemented in the base
class but ends up being called as DoLogTextAtLevel() doesn't know how to
handle non-standard log levels otherwise. This assert happened if you simply
called wxLogMessage(wxLOG_User, ...) in the program.
Just ignore messages at unknown log levels instead in wxLogGui, by definition
it can't handle them anyhow.
See also r63167.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63275
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
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;
}
}