diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 9ca512e..161d3a2 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -1554,7 +1554,10 @@ bool QDir::isReadable() const */ bool QDir::exists() const { - return d_ptr->exists(); + qDebug() << __FUNCTION__ << path() << "MIS" << d_ptr->metaData.missingFlags(QFileSystemMetaData::ExistsAttribute); + const bool d = d_ptr->exists(); + qDebug() << __FUNCTION__ << path() << d << "MIS" << d_ptr->metaData.missingFlags(QFileSystemMetaData::ExistsAttribute); + return d; } /*! diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp index 2c9ed9d..a78b41c 100644 --- a/src/corelib/io/qfilesystemengine_win.cpp +++ b/src/corelib/io/qfilesystemengine_win.cpp @@ -492,6 +492,7 @@ QFileSystemEntry QFileSystemEngine::getLinkTarget(const QFileSystemEntry &link, //static QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry, QFileSystemMetaData &data) { + qDebug() << __FUNCTION__ << data.missingFlags(QFileSystemMetaData::ExistsAttribute); if (data.missingFlags(QFileSystemMetaData::ExistsAttribute)) QFileSystemEngine::fillMetaData(entry, data, QFileSystemMetaData::ExistsAttribute); @@ -934,6 +935,8 @@ bool QFileSystemEngine::fillMetaData(const QFileSystemEntry &entry, QFileSystemM // for all members used by fillFindData(). bool ok = ::GetFileAttributesEx((wchar_t*)fname.nativeFilePath().utf16(), GetFileExInfoStandard, reinterpret_cast(&findData)); + if (!ok) + qErrnoWarning("GetFileAttributesEx failed on %s", qPrintable(fname.nativeFilePath())); if (ok) { data.fillFromFindData(findData, false, fname.isDriveRoot()); } else { diff --git a/src/corelib/io/qfilesystemmetadata_p.h b/src/corelib/io/qfilesystemmetadata_p.h index 1abc9b7..e38cb90 100644 --- a/src/corelib/io/qfilesystemmetadata_p.h +++ b/src/corelib/io/qfilesystemmetadata_p.h @@ -56,6 +56,7 @@ #include "qplatformdefs.h" #include #include +#include #include // Platform-specific includes @@ -174,11 +175,13 @@ public: void clear() { + qDebug() << __FUNCTION__ ; knownFlagsMask = 0; } void clearFlags(MetaDataFlags flags = AllMetaDataFlags) { + qDebug() << __FUNCTION__ << flags; knownFlagsMask &= ~flags; }