From 8285688ec97f9df099d86d2e1be7cb375e00bbee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E4=BB=99=E5=A5=B3?= Date: Sun, 19 Feb 2023 18:51:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BD=93=E8=BF=87=E6=BB=A4=E5=99=A8?= =?UTF-8?q?=E6=98=AF=E6=97=A0=E6=95=88=E7=9A=84=E6=AD=A3=E5=88=99=E6=97=B6?= =?UTF-8?q?,=20=E4=BC=9A=E8=BE=93=E5=87=BA=E5=A4=A7=E9=87=8F=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2rayN/v2rayN/Views/MsgView.xaml.cs | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/v2rayN/v2rayN/Views/MsgView.xaml.cs b/v2rayN/v2rayN/Views/MsgView.xaml.cs index d3d866bb..8e999939 100644 --- a/v2rayN/v2rayN/Views/MsgView.xaml.cs +++ b/v2rayN/v2rayN/Views/MsgView.xaml.cs @@ -11,6 +11,10 @@ namespace v2rayN.Views public partial class MsgView { private static Config _config; + + private string lastMsgFilter; + private bool lastMsgFilterNotAvailable; + public MsgView() { InitializeComponent(); @@ -28,29 +32,39 @@ namespace v2rayN.Views void DelegateAppendText(string msg) { - Dispatcher.BeginInvoke(new Action(AppendText), DispatcherPriority.Send, msg); + Dispatcher.BeginInvoke(AppendText, DispatcherPriority.Send, msg); } public void AppendText(string msg) { - if (msg.Equals(Global.CommandClearMsg)) + if (msg == Global.CommandClearMsg) { ClearMsg(); return; } - if (!togAutoRefresh.IsChecked.Value) + if (togAutoRefresh.IsChecked == false) { return; } + var MsgFilter = cmbMsgFilter.Text.TrimEx(); - if (!Utils.IsNullOrEmpty(MsgFilter)) + if (MsgFilter != lastMsgFilter) lastMsgFilterNotAvailable = false; + if (!string.IsNullOrEmpty(MsgFilter) && !lastMsgFilterNotAvailable) { - if (!Regex.IsMatch(msg, MsgFilter)) + try { - return; + if (!Regex.IsMatch(msg, MsgFilter)) // 如果不是正则表达式会异常 + { + return; + } + } + catch (Exception) + { + lastMsgFilterNotAvailable = true; } } - + lastMsgFilter = MsgFilter; + ShowMsg(msg); }