summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYan Shapochnik <shapochniky@seapine.com>2012-04-11 15:02:49 -0400
committerQt by Nokia <qt-info@nokia.com>2012-04-12 18:27:51 +0200
commitdae4bd8489993a250cfd7890ec963bf8190a7a97 (patch)
tree0a335581ee00325cda1074402dbb89ae84aeed8f
parent40a1e8eccf42dad9ff70ad54658abcfc9bf896ae (diff)
Fix possible crash issue when testing the state of a QAccessibleMenuItem
The owner widget of a QAccessibleMenuItem may be NULL. Checking for a valid pointer before dereferncing. Port of Qt 4 patch. Change-Id: Ic3149ccc5d6ae0ebc83dae58163ae2f60397fd28 (cherry picked from commit 3f526366af14f6c640dd52cd089b00776ab06731) Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
-rw-r--r--src/plugins/accessible/widgets/qaccessiblemenu.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp
index d3ca1629bd..6009d25977 100644
--- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp
+++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp
@@ -249,7 +249,7 @@ QAccessible::State QAccessibleMenuItem::state() const
QAccessible::State s;
QWidget *own = owner();
- if (own->testAttribute(Qt::WA_WState_Visible) == false || m_action->isVisible() == false) {
+ if (own && own->testAttribute(Qt::WA_WState_Visible) == false || m_action->isVisible() == false) {
s.invisible = true;
}
@@ -262,7 +262,7 @@ QAccessible::State QAccessibleMenuItem::state() const
s.focused = true;
#endif
}
- if (own->style()->styleHint(QStyle::SH_Menu_MouseTracking))
+ if (own && own->style()->styleHint(QStyle::SH_Menu_MouseTracking))
s.hotTracked = true;
if (m_action->isSeparator() || !m_action->isEnabled())
s.disabled = true;