diff options
Diffstat (limited to 'src/widgets/widgets/qtoolbar.cpp')
-rw-r--r-- | src/widgets/widgets/qtoolbar.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp index f35c02f2fb..bb376e9613 100644 --- a/src/widgets/widgets/qtoolbar.cpp +++ b/src/widgets/widgets/qtoolbar.cpp @@ -1073,11 +1073,12 @@ static bool waitForPopup(QToolBar *tb, QWidget *popup) if (menu == nullptr) return false; - QAction *action = menu->menuAction(); - QList<QWidget*> widgets = action->associatedWidgets(); - for (int i = 0; i < widgets.count(); ++i) { - if (waitForPopup(tb, widgets.at(i))) - return true; + const QAction *action = menu->menuAction(); + for (auto object : action->associatedObjects()) { + if (QWidget *widget = qobject_cast<QWidget*>(object)) { + if (waitForPopup(tb, widget)) + return true; + } } return false; |