diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index a78fe59..887bb72 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -1701,18 +1701,18 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls lock (MainWindow._orderLock) { - orderExist = GlobalConfig.lstFilterOrder.ToList().FirstOrDefault(o => o.order_id == order.order_id); + orderExist = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.order_id == order.order_id); } while (orderExist != null) { - Dispatcher.Invoke(() => + await Dispatcher.InvokeAsync(() => { - GlobalConfig.lstFilterOrder.Remove(orderExist); + lock (MainWindow._orderLock) + { + GlobalConfig.lstFilterOrder.Remove(orderExist); + orderExist = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.order_id == order.order_id); + } }); - lock (MainWindow._orderLock) - { - orderExist = GlobalConfig.lstFilterOrder.ToList().FirstOrDefault(o => o.order_id == order.order_id); - } } if (!GetOrderIsFilter(order))