fix: activate fixture command queue before dispatch

This commit is contained in:
codex
2026-08-04 07:39:21 +03:00
parent c633107273
commit 6ed1e4086b
2 changed files with 4 additions and 4 deletions
@@ -268,13 +268,13 @@ internal sealed class FirstLimitedApplyAutomationCoordinator
{
if (IsTerminal || document is null) return;
transitions.Add("CommandQueued:" + command);
document.SendStringToExecute(command + "\n", true, false, false);
document.SendStringToExecute(command + "\n", true, true, false);
}
private void QueueReadinessBarrier()
{
if (IsTerminal || document is null) return;
transitions.Add("ReadinessBarrierQueued");
document.SendStringToExecute("PHP_REC_AUTOMATION_READY\n", true, false, false);
document.SendStringToExecute("PHP_REC_AUTOMATION_READY\n", true, true, false);
}
private void OnCommandEnded(object sender, CommandEventArgs e)
{
@@ -396,7 +396,7 @@ internal sealed class FirstLimitedApplyAutomationCoordinator
// Persist the exit boundary before handing control back to AutoCAD;
// process termination can otherwise prevent the final evidence flush.
TryWriteEvidence(functionalCompleted, null);
exitDocument.SendStringToExecute("_.QUIT _N\n", true, false, false);
exitDocument.SendStringToExecute("_.QUIT _N\n", true, true, false);
document = null;
automationOpenedDocuments.Clear();
}
@@ -116,7 +116,7 @@ public sealed class FoundationTests
Assert.Contains("RequestControlledExit", source);
Assert.Contains("AcadApplication.Idle += OnExitIdle", source);
Assert.Contains("QuitDispatchAttempted", source);
Assert.Contains("exitDocument.SendStringToExecute(\"_.QUIT _N\\n\", true, false, false);", source);
Assert.Contains("exitDocument.SendStringToExecute(\"_.QUIT _N\\n\", true, true, false);", source);
Assert.Contains("var exitDocument = AcadApplication.DocumentManager.MdiActiveDocument;", source);
}