diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2012-04-10 22:58:05 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-13 18:15:26 +0200 |
commit | 76f536d661d4765ef12e146fae1527dcd0508137 (patch) | |
tree | d5186d4a41f49a0313d06b21df863b3c5a13c059 /src/plugins/accessible/widgets/itemviews.h | |
parent | 5a8c13a7d4420cabf0fadbed6f8cae07162a32d8 (diff) |
Use QPointer to store accessible object.
Itemview were not following the established pattern
of keeping the referenced object in a QPointer.
This made them a lot more crash prone.
Port of Qt 4 change.
Conflicts:
src/plugins/accessible/widgets/itemviews.cpp
src/plugins/accessible/widgets/itemviews.h
Change-Id: I210b112b9c3647b246fde2d6c69aba9ce8d25bd3
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
(cherry picked from commit f420ab2870d3c96e9678c24c64b4e26ec8a771bd)
Diffstat (limited to 'src/plugins/accessible/widgets/itemviews.h')
-rw-r--r-- | src/plugins/accessible/widgets/itemviews.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/accessible/widgets/itemviews.h b/src/plugins/accessible/widgets/itemviews.h index 2672cd4a16..1d42c511f0 100644 --- a/src/plugins/accessible/widgets/itemviews.h +++ b/src/plugins/accessible/widgets/itemviews.h @@ -42,11 +42,12 @@ #ifndef ACCESSIBLE_ITEMVIEWS_H #define ACCESSIBLE_ITEMVIEWS_H -#include <QtWidgets/qabstractitemview.h> -#include <QtWidgets/qheaderview.h> +#include "QtCore/qpointer.h" #include <QtGui/qaccessible.h> #include <QtGui/qaccessible2.h> #include <QtWidgets/qaccessiblewidget.h> +#include <QtWidgets/qabstractitemview.h> +#include <QtWidgets/qheaderview.h> QT_BEGIN_NAMESPACE @@ -65,7 +66,6 @@ public: virtual ~QAccessibleTable(); - QObject *object() const { return view; } QAccessible::Role role() const; QAccessible::State state() const; QString text(QAccessible::Text t) const; @@ -103,9 +103,11 @@ public: virtual bool unselectRow(int row); virtual bool unselectColumn(int column); + QAbstractItemView *view() const; + protected: - QAbstractItemView* view; inline QAccessibleTableCell *cell(const QModelIndex &index) const; + inline QAccessible::Role cellRole() const { switch (m_role) { case QAccessible::List: @@ -193,7 +195,7 @@ public: private: QHeaderView *verticalHeader() const; QHeaderView *horizontalHeader() const; - QAbstractItemView *view; + QPointer<QAbstractItemView > view; QModelIndex m_index; QAccessible::Role m_role; |