diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp index 36a861b50..1ef7da6c3 100644 --- a/src/gui/widgets/qmenu.cpp +++ b/src/gui/widgets/qmenu.cpp @@ -445,9 +445,11 @@ void QMenuPrivate::setCurrentAction(QAction *action, int popup, SelectionReason // Reselect the currently active action in case mouse moved over other menu items when // moving from sub menu action to sub menu (QTBUG-20094). if (reason != SelectedFromKeyboard && action == currentAction && !(action && action->menu() && action->menu() != activeMenu)) { - if (QMenu *menu = qobject_cast(causedPopup.widget)) { - if (causedPopup.action && menu->d_func()->activeMenu == q) - menu->d_func()->setCurrentAction(causedPopup.action, 0, reason, false); + if (causedPopup.widget) { + if (QMenu *menu = qobject_cast(causedPopup.widget)) { + if (causedPopup.action && menu->d_func()->activeMenu == q) + menu->d_func()->setCurrentAction(causedPopup.action, 0, reason, false); + } } return; }