diff --git a/Changelog.md b/Changelog.md index 01eff1b..13e84bd 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,8 +1,8 @@ -5.4.5.2 Beta (not yet released) +5.4.6.1 Beta (not yet released) ============ - +- log error fix 5.4.6.0 diff --git a/mpv.net/Misc/App.cs b/mpv.net/Misc/App.cs index 8e3acec..d386a97 100644 --- a/mpv.net/Misc/App.cs +++ b/mpv.net/Misc/App.cs @@ -89,13 +89,6 @@ namespace mpvnet core.Shutdown += Shutdown; core.Initialized += Initialized; - core.LogMessage += ShowFatalError; - } - - static void ShowFatalError(mpv_log_level level, string msg) - { - if (!App.IsStartedFromTerminal && level == mpv_log_level.MPV_LOG_LEVEL_FATAL) - Msg.ShowError(msg); } public static void RunAction(Action action) diff --git a/mpv.net/mpv/Core.cs b/mpv.net/mpv/Core.cs index f75defc..a4ae3ec 100644 --- a/mpv.net/mpv/Core.cs +++ b/mpv.net/mpv/Core.cs @@ -396,10 +396,18 @@ namespace mpvnet case mpv_event_id.MPV_EVENT_LOG_MESSAGE: { var data = (mpv_event_log_message)Marshal.PtrToStructure(evt.data, typeof(mpv_event_log_message)); - mpv_log_level level = data.log_level; - string msg = $"[{ConvertFromUtf8(data.prefix)}] {ConvertFromUtf8(data.text)}"; - InvokeAsync(LogMessageAsync, level, msg); - LogMessage?.Invoke(level, msg); + + if (LogMessage != null || LogMessageAsync != null || + data.log_level == mpv_log_level.MPV_LOG_LEVEL_FATAL) + { + string msg = $"[{ConvertFromUtf8(data.prefix)}] {ConvertFromUtf8(data.text)}"; + + if (data.log_level == mpv_log_level.MPV_LOG_LEVEL_FATAL) + App.RunAction(() => App.ShowError("Fatal Error", msg)); + + InvokeAsync(LogMessageAsync, data.log_level, msg); + LogMessage?.Invoke(data.log_level, msg); + } } break; case mpv_event_id.MPV_EVENT_CLIENT_MESSAGE: