diff options
Diffstat (limited to 'src/widgets/widgets/qmenu.cpp')
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 23292062cb..e26f797501 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -41,6 +41,7 @@ #include <QtWidgets/private/qtwidgetsglobal_p.h> +#include "qactiongroup.h" #include "qdebug.h" #include "qstyle.h" #include "qevent.h" @@ -198,7 +199,8 @@ void QMenuPrivate::init() #endif q->setAttribute(Qt::WA_X11NetWmWindowTypePopupMenu); defaultMenuAction = menuAction = new QAction(q); - menuAction->d_func()->menu = q; + menuAction->setMenu(q); // this calls setOverrideMenuAction + setOverrideMenuAction(nullptr); QObject::connect(menuAction, &QAction::changed, [this] { if (!tornPopup.isNull()) tornPopup->updateWindowTitle(); @@ -2244,7 +2246,7 @@ void QMenu::clear() for(int i = 0; i < acts.size(); i++) { removeAction(acts[i]); - if (acts[i]->parent() == this && acts[i]->d_func()->widgets.isEmpty()) + if (acts[i]->parent() == this && acts[i]->d_func()->associatedObjects.isEmpty()) delete acts[i]; } } |