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

Hang due to infinite loop when removing tabs from TabBar

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.9.0 Alpha
    • 5.8.0 RC
    • Quick: Controls 2
    • None
    • Desktop Qt 5.8 RC, MSVC 2015, x64, Windows 7
    • 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
        For Gerrit Dashboard: QTBUG-57858
        # Subject Branch Project Status CR V

        Activity

          People

            Unassigned Unassigned
            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