diff --git a/HellionChat/PayloadHandler.cs b/HellionChat/PayloadHandler.cs index 91aeb5e..a71b074 100644 --- a/HellionChat/PayloadHandler.cs +++ b/HellionChat/PayloadHandler.cs @@ -194,7 +194,10 @@ internal sealed class PayloadHandler return; } - ImGui.Checkbox(Language.Context_ScreenshotMode, ref Plugin.Config.ScreenshotMode); + // The flag is persisted, so every toggle has to write it. Without the + // write it only sticks when some unrelated save happens to run after. + if (ImGui.Checkbox(Language.Context_ScreenshotMode, ref Plugin.Config.ScreenshotMode)) + Plugin.Instance.SaveConfig(); if (ImGui.Selectable(Language.Context_HideChat)) Plugin.Config.HideChat = true; diff --git a/HellionChat/Ui/Components/InputBar.cs b/HellionChat/Ui/Components/InputBar.cs index ebf00a1..3938af8 100644 --- a/HellionChat/Ui/Components/InputBar.cs +++ b/HellionChat/Ui/Components/InputBar.cs @@ -901,7 +901,10 @@ internal sealed class InputBar ) ) { + // Persisted flag -- write it here too, or turning it back off + // never reaches the config file. Plugin.Config.ScreenshotMode = !Plugin.Config.ScreenshotMode; + Plugin.Instance.SaveConfig(); } if (