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

Regression and UI Freeze (5.15 -> 6.2) in QTableView with Accessibility

    XMLWordPrintable

Details

    • Windows
    • 4114a0ea75 (qt/qtbase/dev) 4114a0ea75 (qt/tqtc-qtbase/dev) acfcb0b5f4 (qt/qtbase/6.3) acfcb0b5f4 (qt/tqtc-qtbase/6.3) b27b4f5302 (qt/qtbase/6.2) b27b4f5302 (qt/tqtc-qtbase/6.2) 37204c4a1d (qt/tqtc-qtbase/5.15)

    Description

      We have a problem with our application displaying 10000+ rows with 50 columns in a QTableView on Windows

      Since we updated the project from Qt 5.15 to Qt 6.1 and Qt 6.2, as soon as the user first clicks on a row, there is a huge delay (more than 3 minutes) before the row get selected
      After this first click, everything is correct and the other row selections are fast

      It seems to be related with an accessibility problem, and by using a debugger I have found that there seems to be related with a new code for Qt 6 in the function QWindowsUiaMainProvider::notifyFocusChange
      in
      qtbase/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp

      the suspect part is

      if (accessible->tableInterface()) {
      int count = accessible->childCount();
      for (int i = 0; i < count; ++i) {
      QAccessibleInterface *item = accessible->child;
      if (item && item->isValid() && item->state().focused)

      { accessible = item; break; }

      }
      }

      the way this code search for focused items seems to be problematic, as there can be 500000+ elements to check

      Any way to make this thing faster ?
      Is there a way to completely disable Accessibility for QTableView ?

      I will be happy to help if I can

      thanks for your answer

      Philippe

      Attachments

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

        Activity

          People

            anrocha André De La Rocha (Inactive)
            filmars Philippe Castell
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: