Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-23688

BC break: QDir/QDirIterator gives incorrect metadata for "mount points" for custom file engines



    • Bug
    • Status: Closed
    • P1: Critical
    • Resolution: Done
    • 4.8.0
    • 4.8.1, 5.0.0
    • Core: I/O
    • None
    • symbian, windows, mac, unix flavours that have d_type as a member of DIRENT
    • 3864ad09d578210b52e5f58fca2ee8a1144f5be2 (4.8), d71ccb9c13f5f15adc09e47dcef22dc1202f9b33 (5.0)


      If a custom file engine is used to make an archive file (e.g tar, zip, app specific format) appear as a directory, this may be broken in 4.8
      The reason is that cached information from the filesystem is trusted to determine the filesystem object type.
      In 4.7 there was no caching and a QFileInfo was constructed each time, which was responsible for poor performance.

      As 4.8 is aware of whether custom file engines are in use or not, this can be fixed while only significantly affecting performance for applications that use them

      App level workaround may be possible if the custom file engine takes ownership of the directory containing its mount point and overrides the begin/end/entryList functions.
      This only covers the use case of archive files in an application owned directory, not the general case of anywhere in the file system.


        No reviews matched the request. Check your Options in the drop-down menu of this sections header.



            shkearns Shane Kearns
            shkearns Shane Kearns
            0 Vote for this issue
            0 Start watching this issue



              Gerrit Reviews

                There are no open Gerrit changes