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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 4.8.0
    • Fix Version/s: 4.8.1, 5.0.0
    • Component/s: Core: I/O
    • Labels:
      None
    • Environment:
      symbian, windows, mac, unix flavours that have d_type as a member of DIRENT
    • Commits:
      3864ad09d578210b52e5f58fca2ee8a1144f5be2 (4.8), d71ccb9c13f5f15adc09e47dcef22dc1202f9b33 (5.0)

      Description

      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.

        Attachments

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

          Activity

            People

            Assignee:
            shkearns Shane Kearns
            Reporter:
            shkearns Shane Kearns
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes