diff options
-rw-r--r-- | src/corelib/io/qfsfileengine.cpp | 20 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine_unix.cpp | 10 | ||||
-rw-r--r-- | src/corelib/io/qfsfileengine_win.cpp | 10 |
3 files changed, 20 insertions, 20 deletions
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index 75478f0467..b7f2f0d645 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -525,6 +525,25 @@ bool QFSFileEngine::seek(qint64 pos) } /*! + \reimp +*/ +QDateTime QFSFileEngine::fileTime(FileTime time) const +{ + Q_D(const QFSFileEngine); + + if (time == AccessTime) { + // always refresh for the access time + d->metaData.clearFlags(QFileSystemMetaData::AccessTime); + } + + if (d->doStat(QFileSystemMetaData::Times)) + return d->metaData.fileTime(time); + + return QDateTime(); +} + + +/*! \internal */ bool QFSFileEnginePrivate::seekFdFh(qint64 pos) @@ -708,6 +727,7 @@ qint64 QFSFileEnginePrivate::readLineFdFh(char *data, qint64 maxlen) qint64 QFSFileEngine::write(const char *data, qint64 len) { Q_D(QFSFileEngine); + d->metaData.clearFlags(QFileSystemMetaData::Times); // On Windows' stdlib implementation, the results of calling fread and // fwrite are undefined if not called either in sequence, or if preceded diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 9f081e9295..62e613ed14 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -699,16 +699,6 @@ bool QFSFileEngine::setFileTime(const QDateTime &newDate, FileTime time) #endif } -QDateTime QFSFileEngine::fileTime(FileTime time) const -{ - Q_D(const QFSFileEngine); - - if (d->doStat(QFileSystemMetaData::Times)) - return d->metaData.fileTime(time); - - return QDateTime(); -} - uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size, QFile::MemoryMapFlags flags) { #if (defined(Q_OS_LINUX) || defined(Q_OS_ANDROID)) && Q_PROCESSOR_WORDSIZE == 4 diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp index 5c6098c3b0..d749e32447 100644 --- a/src/corelib/io/qfsfileengine_win.cpp +++ b/src/corelib/io/qfsfileengine_win.cpp @@ -947,16 +947,6 @@ bool QFSFileEngine::setFileTime(const QDateTime &newDate, FileTime time) return true; } -QDateTime QFSFileEngine::fileTime(FileTime time) const -{ - Q_D(const QFSFileEngine); - - if (d->doStat(QFileSystemMetaData::Times)) - return d->metaData.fileTime(time); - - return QDateTime(); -} - uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size, QFile::MemoryMapFlags flags) { |