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

ScrollView does not warn of possible binding loop with ListView

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 5.1.0 Beta 1
    • Quick: Controls 1
    • None
    • Windows 7, x64

      Original description:
      The problem can be described as follows: we have a window with ScrollView containing ListView with horizontal orientation. ListView contains many items and opens with horizontal scroll bar initially. But once you resize the window so that all ListView items fit in the ListView entirely application hangs. I would expect however that scroll bar should disappear or get disabled instead.

      When application stop responding console start to get filled with the following messages: 'QQuickWindow: possible 'QQuickItem::polish() loop'.

      I've created small example to demonstrate the problem. All you need to do to reproduce the issue is to run it and drag the right window border to the right to increase window size.

      Updated description details:

      The reported issue was caused by a logical loop in the example.

      The item height is bound to the listview height, which again is bound to the width. When the window is resized to match the content with, the scrollbar is removed, the listview resized and a recursion can be triggered since that would resize the content again.

      Possible work arounds would be to hard code height or depend on the TableView height instead. Note that this would probably also most easily be solved if there was an option to have scroll bars "always on", which would be a feature request for 5.2.

      I sill consider the issue valid but no longer a P1 as there is no correct way of handling the provided example code given that the height of listview depends on content. I would however expect a "binding loop" detection and or more graceful handling of it to be feasible.

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

            bachewii Jens
            glebg Gleb
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes