diff options
author | Jian Liang <jianliang79@gmail.com> | 2013-10-10 14:28:22 +0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-12 10:52:03 +0200 |
commit | 5c87044870752ba9506d7f1d6a0b3de13e72c45f (patch) | |
tree | 97005a8aa015995309f361ae7541ec22d2ff8049 /src/corelib/io/qfileinfo_p.h | |
parent | 54b0e94cfb04aab67205c49203427c914269f0ad (diff) |
Fix memory leak in QFileInfo::exists()
Use the the legacy file engine object created in static function
QFileInfo::exists() as the engine of the QFileInfo object to prevent
memory leak. This can also boost a little performance.
Change-Id: I06317d158d487be5ef15fe3244a917a371563ac9
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/io/qfileinfo_p.h')
-rw-r--r-- | src/corelib/io/qfileinfo_p.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/corelib/io/qfileinfo_p.h b/src/corelib/io/qfileinfo_p.h index 442e6b5ef0..47359a55ce 100644 --- a/src/corelib/io/qfileinfo_p.h +++ b/src/corelib/io/qfileinfo_p.h @@ -120,6 +120,20 @@ public: metaData = QFileSystemMetaData(); } + inline QFileInfoPrivate(const QFileSystemEntry &file, const QFileSystemMetaData &data, QAbstractFileEngine *engine) + : fileEntry(file), + metaData(data), + fileEngine(engine), + cachedFlags(0), +#ifndef QT_NO_FSFILEENGINE + isDefaultConstructed(false), +#else + isDefaultConstructed(!fileEngine), +#endif + cache_enabled(true), fileFlags(0), fileSize(0) + { + } + inline void clearFlags() const { fileFlags = 0; cachedFlags = 0; |