Fix BC break with QAbstractFileEngine "mount points"
authorShane Kearns <ext-shane.2.kearns@nokia.com>
Tue, 17 Jan 2012 19:51:39 +0000 (19:51 +0000)
committerQt by Nokia <qt-info@nokia.com>
Sun, 29 Jan 2012 14:22:19 +0000 (15:22 +0100)
commitd71ccb9c13f5f15adc09e47dcef22dc1202f9b33
tree45b6319a594b2929c69c21796fbc10c771f9c7b4
parent10229aedf426f1d3357d1da25cc17b033918b583
Fix BC break with QAbstractFileEngine "mount points"

File system cached metadata can't be trusted when custom file engines
are in use, because the custom file engine may want to override the
metadata. (e.g. present an archive file as a directory)

Therefore, check if a file engine should be instantiated for each
result in QDirIterator. This is a fast check if no custom file engines
are registered.
When pushing a directory (using QDirIterator::SubDirectories) the
file engine needs to be instantiated also.

Task-number: QTBUG-23688
Task-number: ou1cimx1#965023
Change-Id: I0114c8df6258535553783a2486131c4194926649
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
(cherry picked from 3864ad09d578210b52e5f58fca2ee8a1144f5be2)
src/corelib/io/qfileinfo_p.h
tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp