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

assert in QString.h when loading a QML-File using static Qt on Windows

    XMLWordPrintable

Details

    • Windows

    Description

      I'm building a qml-application using a self-compiled static Qt 5.12.

      When starting the application, I get  an assert:

       ASSERT: "uint(i) < uint(size())" in file /space/qt/qt-everywhere-src-5.12.4/qtbase/include/QtCore/../../src/corelib/tools/qstring.h, line 938
       

      This is because in the method QQml_isFileCaseCorrect in qqmlengine.cpp, the check for ':' as the first character (line 2532) doesn't check if the string is empty.
      So just replacing

           if (absolute[0] == QLatin1Char(':'))
      

      with

           if (absolute.isEmpty() || absolute[0] == QLatin1Char(':'))
      

      will fix this.

      Unfortunately I couldn't reproduce the assert with a simple example program.

      Attachments

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

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            lkdem Ludger Krämer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes