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

QML debugger causes binding loops when requesting object members

    XMLWordPrintable

Details

    Description

      The actual bug is that the QML debugger causes binding loop warnings by evaluating expressions while the evaluation of a binding is suspended in a break point. See comments below.

      I wrote a set of Javascript functions which uses recursive calls to search for the beginning node of a subtree location. I invoke the function as the method of setting the current value within
      the current element: property var _app:

      { find_root(thisnode) }

      The code includes tests for a non-existent first subtree node.
      The first node is carried on down with each new instance of the the structure.
      But there is no guarantee that other non-structure nodes will not appear in the tree structure.

      I wrote the initial routines to search all of the way back to the root each time.
      But then I thought: Why go all of the way back. All I have to do is go back
      to the most previous node in the chain and check it reference points to that node.

      Going all of the way back each time causes no error messages. the value get propagated
      correctly

      When I add code that checks the reference value in the most previous node
      I receive this error messaage: ' QML It: Binding loop detected for property "xxx" '.
      All of the code appears to work correctly the root value appears in each element
      with the correct value.

      I have tried several ways to eliminate the message but with no success.
      I have even tried making it a non-property variable.

      Is there any way to turn off the message, considering the code works correctly

      Attached:
      1. screen snapshot of application output
      2. The main qml file.
      3. The A_root.qml file that defines the root node.
      4. The reference (It.qml) file that does the searching a setting of the root node value

      If the code violates any published Qt Qml rules please let me know.
      I see no Javascript errors in the code.

      Attachments

        1. Screenshot 2020-10-11 at 18.50.55.png
          Screenshot 2020-10-11 at 18.50.55.png
          556 kB
        2. It.qml
          2 kB
        3. chain_filter.qml
          0.6 kB
        4. A_root.qml
          0.3 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qtqmlteam Qt Qml Team User
            lawrence.emke Lawrence Emke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes