summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-06-20 10:37:51 -0700
committerThiago Macieira <thiago.macieira@intel.com>2014-08-13 16:36:11 +0200
commit4848796f3e2f4aeebb8cbc0782853f27f93afeec (patch)
treec48a7d97075a663234af4a972561508468312762 /src
parentc6718f01c20779da00689b3ef66ede7af5fe8ce5 (diff)
Make sure we don't cache old file sizes prior to new writes
If we write to a file, its size changes. We should drop previous size caches. Change-Id: Ib687c91e5fc88cab588c89023f23da9622160da9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qfsfileengine.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index 998a3334c9..1ae182a4c1 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -742,6 +742,9 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len)
if (len && writtenBytes == 0) {
writtenBytes = -1;
q->setError(errno == ENOSPC ? QFile::ResourceError : QFile::WriteError, qt_error_string(errno));
+ } else {
+ // reset the cached size, if any
+ metaData.clearFlags(QFileSystemMetaData::SizeAttribute);
}
return writtenBytes;