diff options
Diffstat (limited to 'src/widgets/accessible')
-rw-r--r-- | src/widgets/accessible/complexwidgets.cpp | 11 | ||||
-rw-r--r-- | src/widgets/accessible/complexwidgets_p.h | 2 | ||||
-rw-r--r-- | src/widgets/accessible/itemviews.cpp | 20 | ||||
-rw-r--r-- | src/widgets/accessible/qaccessiblemenu.cpp | 7 | ||||
-rw-r--r-- | src/widgets/accessible/qaccessiblewidgets.cpp | 4 |
5 files changed, 25 insertions, 19 deletions
diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index 6cdc06d702..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; } @@ -199,7 +206,7 @@ QAccessibleTabBar::QAccessibleTabBar(QWidget *w) QAccessibleTabBar::~QAccessibleTabBar() { - foreach (QAccessible::Id id, m_childInterfaces) + for (QAccessible::Id id : qAsConst(m_childInterfaces)) QAccessible::deleteAccessibleInterface(id); } diff --git a/src/widgets/accessible/complexwidgets_p.h b/src/widgets/accessible/complexwidgets_p.h index 96db2dab70..e7a32c7264 100644 --- a/src/widgets/accessible/complexwidgets_p.h +++ b/src/widgets/accessible/complexwidgets_p.h @@ -90,8 +90,6 @@ public: int indexOfChild(const QAccessibleInterface *child) const override; bool isValid() const override; QAccessibleInterface *childAt(int x, int y) const override; - -//protected: QAbstractScrollArea *abstractScrollArea() const; private: diff --git a/src/widgets/accessible/itemviews.cpp b/src/widgets/accessible/itemviews.cpp index 4d37400dc9..51cfaa7f5e 100644 --- a/src/widgets/accessible/itemviews.cpp +++ b/src/widgets/accessible/itemviews.cpp @@ -110,12 +110,12 @@ QAccessibleTable::QAccessibleTable(QWidget *w) bool QAccessibleTable::isValid() const { - return (view() && !qobject_cast<QWidget*>(view())->d_func()->data.in_destructor); + return view() && !qt_widget_private(view())->data.in_destructor; } QAccessibleTable::~QAccessibleTable() { - Q_FOREACH (QAccessible::Id id, childToId) + for (QAccessible::Id id : qAsConst(childToId)) QAccessible::deleteAccessibleInterface(id); } @@ -221,7 +221,7 @@ QList<QAccessibleInterface *> QAccessibleTable::selectedCells() const return cells; const QModelIndexList selectedIndexes = view()->selectionModel()->selectedIndexes(); cells.reserve(selectedIndexes.size()); - Q_FOREACH (const QModelIndex &index, selectedIndexes) + for (const QModelIndex &index : selectedIndexes) cells.append(child(logicalIndex(index))); return cells; } @@ -233,7 +233,7 @@ QList<int> QAccessibleTable::selectedColumns() const QList<int> columns; const QModelIndexList selectedColumns = view()->selectionModel()->selectedColumns(); columns.reserve(selectedColumns.size()); - Q_FOREACH (const QModelIndex &index, selectedColumns) + for (const QModelIndex &index : selectedColumns) columns.append(index.column()); return columns; @@ -246,7 +246,7 @@ QList<int> QAccessibleTable::selectedRows() const QList<int> rows; const QModelIndexList selectedRows = view()->selectionModel()->selectedRows(); rows.reserve(selectedRows.size()); - Q_FOREACH (const QModelIndex &index, selectedRows) + for (const QModelIndex &index : selectedRows) rows.append(index.row()); return rows; @@ -553,7 +553,7 @@ void QAccessibleTable::modelChange(QAccessibleTableModelChangeEvent *event) switch (event->modelChangeType()) { case QAccessibleTableModelChangeEvent::ModelReset: - Q_FOREACH (QAccessible::Id id, childToId) + for (QAccessible::Id id : qAsConst(childToId)) QAccessible::deleteAccessibleInterface(id); childToId.clear(); break; @@ -973,7 +973,7 @@ void QAccessibleTableCell::unselectCell() { QAbstractItemView::SelectionMode selectionMode = view->selectionMode(); - if (!m_index.isValid() || (selectionMode & QAbstractItemView::NoSelection)) + if (!m_index.isValid() || (selectionMode == QAbstractItemView::NoSelection)) return; QAccessibleTableInterface *cellTable = table()->tableInterface(); @@ -1091,7 +1091,8 @@ void QAccessibleTableCell::setText(QAccessible::Text /*t*/, const QString &text) bool QAccessibleTableCell::isValid() const { - return view && view->model() && m_index.isValid(); + return view && !qt_widget_private(view)->data.in_destructor + && view->model() && m_index.isValid(); } QAccessibleInterface *QAccessibleTableCell::parent() const @@ -1180,7 +1181,8 @@ void QAccessibleTableHeaderCell::setText(QAccessible::Text, const QString &) bool QAccessibleTableHeaderCell::isValid() const { - return view && view->model() && (index >= 0) + return view && !qt_widget_private(view)->data.in_destructor + && view->model() && (index >= 0) && ((orientation == Qt::Horizontal) ? (index < view->model()->columnCount()) : (index < view->model()->rowCount())); } diff --git a/src/widgets/accessible/qaccessiblemenu.cpp b/src/widgets/accessible/qaccessiblemenu.cpp index 8b3353f625..507584eb02 100644 --- a/src/widgets/accessible/qaccessiblemenu.cpp +++ b/src/widgets/accessible/qaccessiblemenu.cpp @@ -117,10 +117,9 @@ QAccessibleInterface *QAccessibleMenu::child(int index) const QAccessibleInterface *QAccessibleMenu::parent() const { if (QAction *menuAction = menu()->menuAction()) { - QList<QWidget *> parentCandidates; - parentCandidates << menu()->parentWidget(); - parentCandidates << menuAction->associatedWidgets(); - foreach (QWidget *w, parentCandidates) { + const QList<QWidget*> parentCandidates = + QList<QWidget*>() << menu()->parentWidget() << menuAction->associatedWidgets(); + for (QWidget *w : parentCandidates) { if (qobject_cast<QMenu*>(w) #if QT_CONFIG(menubar) || qobject_cast<QMenuBar*>(w) diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 872ddcded5..0d87cc486d 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -569,7 +569,7 @@ QCalendarWidget *QAccessibleCalendarWidget::calendarWidget() const QAbstractItemView *QAccessibleCalendarWidget::calendarView() const { - foreach (QObject *child, calendarWidget()->children()) { + for (QObject *child : calendarWidget()->children()) { if (child->objectName() == QLatin1String("qt_calendar_calendarview")) return static_cast<QAbstractItemView *>(child); } @@ -578,7 +578,7 @@ QAbstractItemView *QAccessibleCalendarWidget::calendarView() const QWidget *QAccessibleCalendarWidget::navigationBar() const { - foreach (QObject *child, calendarWidget()->children()) { + for (QObject *child : calendarWidget()->children()) { if (child->objectName() == QLatin1String("qt_calendar_navigationbar")) return static_cast<QWidget *>(child); } |