From e8322d5a8adb094cdb54edbc5e188880b0e42770 Mon Sep 17 00:00:00 2001 From: Kang Yu Date: Tue, 27 Aug 2024 17:21:34 -0700 Subject: [PATCH] persist snapshot captures on disk --- .../Common/PersistentWindowProcessor.cs | 9 ++++++--- .../SystrayShell/Program.cs | 3 +-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs b/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs index 21afd16..6c40c5c 100644 --- a/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs +++ b/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs @@ -217,6 +217,9 @@ namespace PersistentWindows.Common public void WriteDataDump() { + if (!dumpDataWhenExit) + return; + DataContractSerializer dcs = new DataContractSerializer(typeof(Dictionary>>)); StringBuilder sb = new StringBuilder(); using (XmlWriter xw = XmlWriter.Create(sb)) @@ -240,7 +243,7 @@ namespace PersistentWindows.Common { deadApps = (Dictionary>>)dcs.ReadObject(xr); } - File.Delete(Path.Combine(appDataFolder, windowPosDataFile)); + //File.Delete(Path.Combine(appDataFolder, windowPosDataFile)); string path2 = Path.Combine(appDataFolder, snapshotTimeFile); if (!File.Exists(path2)) @@ -251,7 +254,7 @@ namespace PersistentWindows.Common { snapshotTakenTime = (Dictionary>)dcs2.ReadObject(xr); } - File.Delete(Path.Combine(appDataFolder, snapshotTimeFile)); + //File.Delete(Path.Combine(appDataFolder, snapshotTimeFile)); } private void ReadDataDumpSafe() @@ -1972,7 +1975,7 @@ namespace PersistentWindows.Common Log.Event("Snapshot {0} is captured", snapshotId); } - DumpSnapshotTakenTime(); + WriteDataDump(); return true; } diff --git a/Ninjacrab.PersistentWindows.Solution/SystrayShell/Program.cs b/Ninjacrab.PersistentWindows.Solution/SystrayShell/Program.cs index 8dbb07b..e61847e 100644 --- a/Ninjacrab.PersistentWindows.Solution/SystrayShell/Program.cs +++ b/Ninjacrab.PersistentWindows.Solution/SystrayShell/Program.cs @@ -814,8 +814,7 @@ namespace PersistentWindows.SystrayShell { try { - if (pwp.dumpDataWhenExit) - pwp.WriteDataDump(); + pwp.WriteDataDump(); } catch (Exception e) {