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

Hang due to infinite loop when removing tabs from TabBar

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.8.0 RC
    • Fix Version/s: 5.9.0 Alpha
    • Component/s: Quick: Controls 2
    • Labels:
      None
    • Environment:
      Desktop Qt 5.8 RC, MSVC 2015, x64, Windows 7
    • Commits:
      24acfcafdf66f9ade03d0f98520a5d6c02bb2a1c

      Description

      If a TabBar is not given an overridden value of implicitWidth, the process of removing tabs will hang the process. This appears to be a binding loop in the calculation of implicitWidth.

      Fixing the width of the TabButton, the implicitWidth of the TabBar, or aloowing a ColumnLayout to override the width via Layout.fillWidth all seem to avoid this problem. See comments in main.qml (which demonstrates the hang) for the different things I tried.

      As I'm not sure how to relate callstacks when interrupting it in C++ to the JS binding code, I wasn't able to pin it down any more.

      Hang occurs with the Default and Material styles, Universal looks strange but doesn't seem to have the same infinite loop.

        Attachments

        1. main.qml
          2 kB
          Kevin Puetz
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            puetzk Kevin Puetz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes