Fix YA IPC
authorLiza Carvelli <liza@carvel.li>
Sun, 16 Jun 2024 22:30:50 +0000 (00:30 +0200)
committerLiza Carvelli <liza@carvel.li>
Sun, 16 Jun 2024 22:30:50 +0000 (00:30 +0200)
Questionable/Controller/QuestController.cs
Questionable/External/YesAlreadyIpc.cs
Questionable/Questionable.csproj

index d1a7e3e0cf7851a9ccc9f4e850adb675e3174053..46adb25baec9c91e0f2387e34c2c63026190b960 100644 (file)
@@ -278,7 +278,7 @@ internal sealed class QuestController
         if (_taskQueue.Count > 0)
             _taskQueue.Clear();
 
-        _yesAlreadyIpc.DisableYesAlready();
+        _yesAlreadyIpc.RestoreYesAlready();
     }
 
     public void Stop(string label, bool continueIfAutomatic = false)
index 8b69f7890c216c9259c98d2bd92cc74bf49f503f..a9d20c03e7f9a689e76ff8171b1483cbb9ab1b41 100644 (file)
@@ -18,16 +18,22 @@ internal sealed class YesAlreadyIpc : IDisposable
 
     public void DisableYesAlready()
     {
-        _pluginLog.Debug("Disabling YesAlready");
-        if (_pluginInterface.TryGetData<HashSet<string>>("YesAlready.StopRequests", out var data))
+        if (_pluginInterface.TryGetData<HashSet<string>>("YesAlready.StopRequests", out var data) &&
+            !data.Contains(nameof(Questionable)))
+        {
+            _pluginLog.Debug("Disabling YesAlready");
             data.Add(nameof(Questionable));
+        }
     }
 
     public void RestoreYesAlready()
     {
-        _pluginLog.Debug("Restoring YesAlready");
-        if (_pluginInterface.TryGetData<HashSet<string>>("YesAlready.StopRequests", out var data))
+        if (_pluginInterface.TryGetData<HashSet<string>>("YesAlready.StopRequests", out var data) &&
+            data.Contains(nameof(Questionable)))
+        {
+            _pluginLog.Debug("Restoring YesAlready");
             data.Remove(nameof(Questionable));
+        }
     }
 
     public void Dispose() => RestoreYesAlready();
index e5fdb3068e2c535f8a9da748ac60fb3af9501460..2fc6155cb993cba99c8066b4e966e84b33af2b13 100644 (file)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
     <PropertyGroup>
         <TargetFramework>net8.0-windows</TargetFramework>
-        <Version>0.16</Version>
+        <Version>0.17</Version>
         <LangVersion>12</LangVersion>
         <Nullable>enable</Nullable>
         <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>