diff options
-rw-r--r-- | src/widgets/accessible/complexwidgets.cpp | 9 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index 1499ab827c..63c6fbb9bb 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -120,7 +120,14 @@ public: return rec; } - bool isValid() const override { return m_parent.data() && m_parent->count() > m_index; } + bool isValid() const override { + if (m_parent) { + if (static_cast<QWidget *>(m_parent.data())->d_func()->data.in_destructor) + return false; + return m_parent->count() > m_index; + } + return false; + } QAccessibleInterface *childAt(int, int) const override { return 0; } int childCount() const override { return 0; } diff --git a/src/widgets/kernel/qwidget.h b/src/widgets/kernel/qwidget.h index 9f9f167002..9d5fe89c70 100644 --- a/src/widgets/kernel/qwidget.h +++ b/src/widgets/kernel/qwidget.h @@ -714,6 +714,7 @@ private: friend class QWidgetWindow; friend class QAccessibleWidget; friend class QAccessibleTable; + friend class QAccessibleTabButton; #ifndef QT_NO_GESTURES friend class QGestureManager; friend class QWinNativePanGestureRecognizer; |