diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-02 14:40:38 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-03 06:34:51 +0200 |
commit | 0831cb26f41d5d81b5fbf3ed07fdfb57e9ab05e1 (patch) | |
tree | 4a80a7f09aab2ae16557f1e4af96c3a49bd437e6 /src/corelib/io/qtemporaryfile.cpp | |
parent | ba92215432d7b56f6f519e9d78adcac03d6990a8 (diff) |
Ensure that QTemporaryFile clears all file mappings.
Factor out code to clear all mappings into
QFSFileEnginePrivate::unmapAll() and call that
from QTemporaryFile.
Task-number: QTBUG-39976
Change-Id: Ic1ceeba0ba4451866f1081fee430e5c458c0819d
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io/qtemporaryfile.cpp')
-rw-r--r-- | src/corelib/io/qtemporaryfile.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp index 3cade0ed25..bc6c2f1f06 100644 --- a/src/corelib/io/qtemporaryfile.cpp +++ b/src/corelib/io/qtemporaryfile.cpp @@ -235,6 +235,8 @@ static bool createFileFromTemplate(NativeFileHandle &file, //************* QTemporaryFileEngine QTemporaryFileEngine::~QTemporaryFileEngine() { + Q_D(QFSFileEngine); + d->unmapAll(); QFSFileEngine::close(); } @@ -363,6 +365,7 @@ bool QTemporaryFileEngine::remove() Q_D(QFSFileEngine); // Since the QTemporaryFileEngine::close() does not really close the file, // we must explicitly call QFSFileEngine::close() before we remove it. + d->unmapAll(); QFSFileEngine::close(); if (QFSFileEngine::remove()) { d->fileEntry.clear(); |