return QDateTime();
if (d->fileEngine == 0) {
if (!d->cache_enabled || !d->metaData.hasFlags(QFileSystemMetaData::CreationTime))
- QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::CreationTime);
+ if (!QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::CreationTime))
+ return QDateTime();
return d->metaData.creationTime();
}
return d->getFileTime(QAbstractFileEngine::CreationTime);
return QDateTime();
if (d->fileEngine == 0) {
if (!d->cache_enabled || !d->metaData.hasFlags(QFileSystemMetaData::ModificationTime))
- QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::ModificationTime);
+ if (!QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::ModificationTime))
+ return QDateTime();
return d->metaData.modificationTime();
}
return d->getFileTime(QAbstractFileEngine::ModificationTime);
return QDateTime();
if (d->fileEngine == 0) {
if (!d->cache_enabled || !d->metaData.hasFlags(QFileSystemMetaData::AccessTime))
- QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::AccessTime);
+ if (!QFileSystemEngine::fillMetaData(d->fileEntry, d->metaData, QFileSystemMetaData::AccessTime))
+ return QDateTime();
return d->metaData.accessTime();
}
return d->getFileTime(QAbstractFileEngine::AccessTime);
data.fillFromFindData(findData, false, fname.isDriveRoot());
} else {
if (!tryFindFallback(fname, data))
- tryDriveUNCFallback(fname, data);
+ if (!tryDriveUNCFallback(fname, data)) {
+ SetErrorMode(oldmode);
+ return false;
+ }
}
SetErrorMode(oldmode);
}
void group();
void invalidState();
+ void nonExistingFileDates();
};
void tst_QFileInfo::cleanupTestCase()
QVERIFY(true);
}
+void tst_QFileInfo::nonExistingFileDates()
+{
+ QFileInfo info("non-existing-file.foobar");
+ QVERIFY(!info.exists());
+ QVERIFY(!info.created().isValid());
+ QVERIFY(!info.lastRead().isValid());
+ QVERIFY(!info.lastModified().isValid());
+}
+
QTEST_MAIN(tst_QFileInfo)
#include "tst_qfileinfo.moc"