diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-06-29 11:06:09 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-08-04 17:29:57 +0000 |
commit | 376626560237c263c79103930590eafa4d4dd8d0 (patch) | |
tree | 547122b352e4e8dc3ebb5cbbee4ef1effbdddc7e /src/corelib/io/qtemporaryfile.cpp | |
parent | 38bc95aeceea5b4edbcfaee446d94b6062530770 (diff) |
QTemporaryFile: give the engine access to the template name
Instead of storing it in d->fileEntry. The QFSFileEngine methods may try
to use it before the file entry is filled with the actual file name and
that's no good. This change is using a reference to avoid keeping an
extra QString reference and to avoid going out of sync.
Change-Id: I1eba2b016de74620bfc8fffd14cca9e340e4b1e2
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'src/corelib/io/qtemporaryfile.cpp')
-rw-r--r-- | src/corelib/io/qtemporaryfile.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp index a7fa485399..b8054c3338 100644 --- a/src/corelib/io/qtemporaryfile.cpp +++ b/src/corelib/io/qtemporaryfile.cpp @@ -269,13 +269,6 @@ void QTemporaryFileEngine::setFileName(const QString &file) QFSFileEngine::setFileName(file); } -void QTemporaryFileEngine::setFileTemplate(const QString &fileTemplate) -{ - Q_D(QFSFileEngine); - if (filePathIsTemplate) - d->fileEntry = QFileSystemEntry(fileTemplate); -} - bool QTemporaryFileEngine::open(QIODevice::OpenMode openMode) { Q_D(QFSFileEngine); @@ -286,7 +279,7 @@ bool QTemporaryFileEngine::open(QIODevice::OpenMode openMode) if (!filePathIsTemplate) return QFSFileEngine::open(openMode); - QString qfilename = d->fileEntry.filePath(); + QString qfilename = templateName; // Ensure there is a placeholder mask uint phPos = qfilename.length(); @@ -425,7 +418,7 @@ QTemporaryFilePrivate::~QTemporaryFilePrivate() QAbstractFileEngine *QTemporaryFilePrivate::engine() const { if (!fileEngine) { - fileEngine = new QTemporaryFileEngine; + fileEngine = new QTemporaryFileEngine(&templateName); resetFileEngine(); } return fileEngine; @@ -684,8 +677,6 @@ void QTemporaryFile::setFileTemplate(const QString &name) { Q_D(QTemporaryFile); d->templateName = name; - if (d->fileEngine) - static_cast<QTemporaryFileEngine*>(d->fileEngine)->setFileTemplate(name); } /*! |