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

V4 asserts when assigning specific id to an Item property

    XMLWordPrintable

Details

    Description

      QV4::IR::IRDecoder::visitMove asserts with message "QtQmlViewer(15098)/(default) qt_assert: ASSERT: "m->kind != IR::Member::MemberOfEnum && m->kind != IR::Member::MemberOfIdObjectsArray" in file compiler/qv4isel_p.cpp, line 139", when it compiles e.g. the minimal example you'll find attached.

      The most relevant line is "onBar: foo = bottom". The crash happens if the id of the object I assign to foo here, is one of "top", "bottom", "left", "right", "horizontalCenter" or "verticalCenter". It doesn't happen for e.g. "centerIn" or any other id.
      Moreover it doesn't happen if foo is of type QtObject.

      The semantic issues in the qml file are to make it as small as possible, it happens for valid files as well.

      Attachments

        1. qt56-v4-bottom-bug.crash
          9 kB
          Anton Kreuzkamp
        2. qt56-v4-bottom-bug.qml
          0.1 kB
          Anton Kreuzkamp
        3. reparenttest.qml
          2 kB
          Anton Kreuzkamp

        Issue Links

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

          Activity

            People

              laknoll Lars Knoll
              anton.kreuzkamp Anton Kreuzkamp
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes