diff options
Diffstat (limited to 'src/widgets/widgets/qmenubar.cpp')
-rw-r--r-- | src/widgets/widgets/qmenubar.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index 03ab490823..f523ac2777 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -384,7 +384,7 @@ void QMenuBarPrivate::setCurrentAction(QAction *action, bool popup, bool activat QAction *previousAction = currentAction; #endif currentAction = action; - if (action) { + if (action && action->isEnabled()) { activateAction(action, QAction::Hover); if(popup) popupAction(action, activateFirst); @@ -531,9 +531,6 @@ void QMenuBarPrivate::_q_actionHovered() QAccessibleEvent focusEvent(q, QAccessible::Focus); focusEvent.setChild(actionIndex); QAccessible::updateAccessibility(&focusEvent); - QAccessibleEvent selectionEvent(q, QAccessible::Selection); - selectionEvent.setChild(actionIndex); - QAccessible::updateAccessibility(&selectionEvent); } #endif //QT_NO_ACCESSIBILITY } @@ -1041,7 +1038,7 @@ void QMenuBar::mousePressEvent(QMouseEvent *e) d->mouseDown = true; QAction *action = d->actionAt(e->pos()); - if (!action || !d->isVisible(action)) { + if (!action || !d->isVisible(action) || !action->isEnabled()) { d->setCurrentAction(0); #ifndef QT_NO_WHATSTHIS if (QWhatsThis::inWhatsThisMode()) |