diff options
author | Sergio Ahumada <sergio.ahumada@nokia.com> | 2011-08-29 08:51:04 (GMT) |
---|---|---|
committer | Sergio Ahumada <sergio.ahumada@nokia.com> | 2011-08-29 08:51:04 (GMT) |
commit | fc87ef723d5a030fd701257eeca471e450e08fbb (patch) | |
tree | dcd380c789de4cc2b586c66277b39b8c9fc0d76f /src/corelib/io/qdir.cpp | |
parent | 87136163dcd7ffb8759875bca2b4e559a32167cd (diff) | |
parent | e154fb84b075ad3fda4ac02d620b28cc50e46c09 (diff) | |
download | Qt-fc87ef723d5a030fd701257eeca471e450e08fbb.zip Qt-fc87ef723d5a030fd701257eeca471e450e08fbb.tar.gz Qt-fc87ef723d5a030fd701257eeca471e450e08fbb.tar.bz2 |
Merge remote-tracking branch 'upstream/4.8'
Conflicts:
tools/qdoc3/cppcodemarker.cpp
Diffstat (limited to 'src/corelib/io/qdir.cpp')
-rw-r--r-- | src/corelib/io/qdir.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 3db3dfc..d9086c1 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -1633,9 +1633,13 @@ bool QDir::operator==(const QDir &dir) const if (d->filters == other->filters && d->sort == other->sort && d->nameFilters == other->nameFilters) { - d->resolveAbsoluteEntry(); - other->resolveAbsoluteEntry(); - return d->absoluteDirEntry.filePath().compare(other->absoluteDirEntry.filePath(), sensitive) == 0; + + // Assume directories are the same if path is the same + if (d->dirEntry.filePath() == other->dirEntry.filePath()) + return true; + + // Fallback to expensive canonical path computation + return canonicalPath().compare(dir.canonicalPath(), sensitive) == 0; } return false; } |