diff --git a/src/cascadia/TerminalControl/ControlCore.cpp b/src/cascadia/TerminalControl/ControlCore.cpp index 7c57fda7d0..0a94352e72 100644 --- a/src/cascadia/TerminalControl/ControlCore.cpp +++ b/src/cascadia/TerminalControl/ControlCore.cpp @@ -1831,9 +1831,23 @@ namespace winrt::Microsoft::Terminal::Control::implementation } FILETIME lastWriteTime; + FILETIME localFileTime; SYSTEMTIME lastWriteSystemTime; - if (!GetFileTime(file.get(), nullptr, nullptr, &lastWriteTime) || - !FileTimeToSystemTime(&lastWriteTime, &lastWriteSystemTime)) + + // Get the last write time in UTC + if (!GetFileTime(file.get(), nullptr, nullptr, &lastWriteTime)) + { + return; + } + + // Convert UTC FILETIME to local FILETIME + if (!FileTimeToLocalFileTime(&lastWriteTime, &localFileTime)) + { + return; + } + + // Convert local FILETIME to SYSTEMTIME + if (!FileTimeToSystemTime(&localFileTime, &lastWriteSystemTime)) { return; }