summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfilesystemiterator_win.cpp
diff options
context:
space:
mode:
authorPrasanth Ullattil <prasanth.ullattil@nokia.com>2010-09-22 12:45:32 +0200
committerPrasanth Ullattil <prasanth.ullattil@nokia.com>2010-09-22 13:26:50 +0200
commitc798fc3bf3ed8551185d0914f25dc7ed6fd123dd (patch)
treecedeac76fcde64cf0ce63cdba41b3ff0b26cf520 /src/corelib/io/qfilesystemiterator_win.cpp
parent49d5e73b52a8830f88041f0c1e726133e791f999 (diff)
Fix QDirIterator on Windows XP.
The find option "FindExInfoBasic" which queries only the long file nmae is available only on Windows 7 and above. All other version have to use the "FindExInfoStandard" option which queries both short and long file names. Reviewed-by: Joao
Diffstat (limited to 'src/corelib/io/qfilesystemiterator_win.cpp')
-rw-r--r--src/corelib/io/qfilesystemiterator_win.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/corelib/io/qfilesystemiterator_win.cpp b/src/corelib/io/qfilesystemiterator_win.cpp
index 373a50a653..40501996f4 100644
--- a/src/corelib/io/qfilesystemiterator_win.cpp
+++ b/src/corelib/io/qfilesystemiterator_win.cpp
@@ -85,17 +85,15 @@ bool QFileSystemIterator::advance(QFileSystemEntry &fileEntry, QFileSystemMetaDa
if (findFileHandle == INVALID_HANDLE_VALUE && !uncFallback) {
haveData = true;
+ int infoLevel = 0 ; // FindExInfoStandard;
DWORD dwAdditionalFlags = 0;
- if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7)
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
dwAdditionalFlags = 2; // FIND_FIRST_EX_LARGE_FETCH
+ infoLevel = 1 ; // FindExInfoBasic;
+ }
int searchOps = 0; // FindExSearchNameMatch
if (onlyDirs)
searchOps = 1 ; // FindExSearchLimitToDirectories
-#if !defined(Q_OS_WINCE)
- int infoLevel = 1 ; // FindExInfoBasic;
-#else
- int infoLevel = 0; // FindExInfoStandard;
-#endif
findFileHandle = FindFirstFileEx((const wchar_t *)nativePath.utf16(), FINDEX_INFO_LEVELS(infoLevel), &findData,
FINDEX_SEARCH_OPS(searchOps), 0, dwAdditionalFlags);
if (findFileHandle == INVALID_HANDLE_VALUE) {