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

crash because of case sensitive paths comparison

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.0.0
    • 5.15.0
    • Quick: Controls 2
    • None
    • Windows

    Description

      When QtQuickControls2Plugin::registerTypes function loads style plugins via QtQuickControls2Plugin::loadStylePlugins it compares paths for them by QString's operator== and if you for example start qml app from softlink directory (made by mklink /D) paths can be different though they are equal (on windows of course).

      so QtQuickControls2Plugin tries to load itself but cache is smart enough to return this which then added to stylePlugins list and then appears qDeleteAll(stylePlugins) aaand the contents of QtQuickControls2Plugin are corrupted. which leads to crash.

      this is reproducible by creating a softlink like
      mklink /D "c:\test\softlink" "c:\test\real_folder"
      (where real_folder contains app and all dll/qml/etc staff), going to "folder" c:\test\softlink and trying to start app. any app that uses QtQuickControls2 will suffice. i reproduced that in "Swipe to Remove" example.

      Attachments

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

        Activity

          People

            mitch_curtis Mitch Curtis
            artur.kuznetcov Artur Kuznetcov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes