fix: 在非 UI 线程调用清空库存数据导致任务添加失败

fix #16095
This commit is contained in:
uye
2026-03-25 21:48:20 +08:00
parent 83d653ad4f
commit e84029c6fc
2 changed files with 5 additions and 2 deletions

View File

@@ -937,6 +937,7 @@ public class ToolboxViewModel : Screen
public void ResetDepotRecognitionState()
{
DepotClear();
LastDepotSyncTime = null;
}
/// <summary>
@@ -1342,6 +1343,7 @@ public class ToolboxViewModel : Screen
_tempOperHaveSet = [];
OperBoxHaveList = [];
OperBoxNotHaveList = [];
LastOperBoxSyncTime = null;
}
/// <summary>

View File

@@ -23,6 +23,7 @@ using MaaWpfGui.Constants.Enums;
using MaaWpfGui.Extensions;
using MaaWpfGui.Helper;
using MaaWpfGui.Utilities.ValueType;
using Stylet;
namespace MaaWpfGui.ViewModels.UserControl.TaskQueue;
@@ -102,7 +103,7 @@ public class UserDataUpdateSettingsUserControlModel : TaskSettingsViewModel, Use
bool ret = false;
if (operBoxTriggerDue)
{
Instances.ToolboxViewModel.ResetOperBoxRecognitionState();
Execute.OnUIThread(Instances.ToolboxViewModel.ResetOperBoxRecognitionState);
ret = Instances.ToolboxViewModel.StartOperBoxRecognitionTask(startImmediately: false);
if (!ret)
{
@@ -113,7 +114,7 @@ public class UserDataUpdateSettingsUserControlModel : TaskSettingsViewModel, Use
if (depotTriggerDue)
{
Instances.ToolboxViewModel.ResetDepotRecognitionState();
Execute.OnUIThread(Instances.ToolboxViewModel.ResetDepotRecognitionState);
ret = Instances.ToolboxViewModel.StartDepotRecognitionTask(false);
if (!ret)
{