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

crash in QAccessibleWidget::window() function with NULL pointer

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P1: Critical P1: Critical
    • None
    • 5.15.2
    • None
    • windows 10 professional 21H1
      OS inner version 19043.1083
      Qt 5.15.2 msvc2019_64
    • Windows

      result: 

      QWindow *QAccessibleWidget::window() const
      {
          const QWidget *w = widget();
          Q_ASSERT(w);
          QWindow *result = w->windowHandle();
          if (!result) {
              if (const QWidget *nativeParent = w->nativeParentWidget())
                  result = nativeParent->windowHandle();
          }
          return result;
      }
      

      this code crash, in release mode assert no effect, but 'w' is NULL .

       

      scene descript:

      When i click a "Qml Button" , i need to create and show  a QWidget dialog.

      QWidget dialog has some QLabel on .ui files, construct Dialog will call setupUI,

      lead to call retranslateUi,  QLabel::setText, then call 

      QAccessible::updateAccessibility with  "NameChanged" QAccessibleEvent,

      then QAccessibleWidget crash.

       

      here is call stack

       

       

       

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

            smd Jan Arve
            jaredtao jared tao
            Votes:
            6 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes