diff --git a/plugins/builtin/source/content/providers/file_provider.cpp b/plugins/builtin/source/content/providers/file_provider.cpp index 41f55f818..6b253f614 100644 --- a/plugins/builtin/source/content/providers/file_provider.cpp +++ b/plugins/builtin/source/content/providers/file_provider.cpp @@ -16,6 +16,10 @@ #include +#if defined(OS_WINDOWS) + #include +#endif + namespace hex::plugin::builtin { bool FileProvider::isAvailable() const { @@ -75,6 +79,21 @@ namespace hex::plugin::builtin { void FileProvider::save() { this->applyPatches(); + + #if defined(OS_WINDOWS) + FILETIME ft; + SYSTEMTIME st; + + wolv::io::File file(this->m_path, wolv::io::File::Mode::Write); + if (file.isValid()) { + GetSystemTime(&st); + if (SystemTimeToFileTime(&st, &ft)) { + auto fileHandle = (HANDLE)_get_osfhandle(_fileno(file.getHandle())); + SetFileTime(fileHandle, (LPFILETIME) NULL, (LPFILETIME) NULL, &ft); + } + } + #endif + Provider::save(); }