From a7ce34dba4213927deba443e0e9c42df1769cc25 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 22 Apr 2013 15:51:05 +0200 Subject: Accessibility: Menu item should keep track of owner being valid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The QAction may stay around while the parent/owner gets deleted. This is for example the case for some dynamically created menus. This is required for fixing QTBUG-30792 Change-Id: I7b6122edec6def69aed77502403134e1568e21c9 Reviewed-by: Friedemann Kleint Reviewed-by: Jan Arve Sæther --- src/plugins/accessible/widgets/qaccessiblemenu.cpp | 2 +- src/plugins/accessible/widgets/qaccessiblemenu.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp index f248e6d05e..39ac335131 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp +++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp @@ -206,7 +206,7 @@ int QAccessibleMenuItem::indexOfChild(const QAccessibleInterface * child) const bool QAccessibleMenuItem::isValid() const { - return m_action ? true : false; + return m_action && m_owner ? true : false; } QAccessibleInterface *QAccessibleMenuItem::parent() const diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.h b/src/plugins/accessible/widgets/qaccessiblemenu.h index 74d118a09e..f933a4a37e 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.h +++ b/src/plugins/accessible/widgets/qaccessiblemenu.h @@ -43,6 +43,7 @@ #define QACCESSIBLEMENU_H #include +#include QT_BEGIN_NAMESPACE @@ -120,7 +121,7 @@ protected: QAction *action() const; private: QAction *m_action; - QWidget *m_owner; // can hold either QMenu or the QMenuBar that contains the action + QPointer m_owner; // can hold either QMenu or the QMenuBar that contains the action }; #endif // QT_NO_MENU -- cgit v1.2.3