From 19193b3c7b37749f200f10e7a72cfc3c5b1348dc Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 10 May 2024 14:09:33 +0400 Subject: [PATCH] Clear last separator in geometry prepare. --- ui/widgets/popup_menu.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ui/widgets/popup_menu.cpp b/ui/widgets/popup_menu.cpp index 1c9c7f9..62531a7 100644 --- a/ui/widgets/popup_menu.cpp +++ b/ui/widgets/popup_menu.cpp @@ -900,12 +900,6 @@ void PopupMenu::deleteOnHide(bool del) { } void PopupMenu::popup(const QPoint &p) { - if (_clearLastSeparator) { - _menu->clearLastSeparator(); - for (const auto &[action, submenu] : _submenus) { - submenu->menu()->clearLastSeparator(); - } - } if (prepareGeometryFor(p)) { popupPrepared(); return; @@ -957,6 +951,13 @@ bool PopupMenu::prepareGeometryFor(const QPoint &p) { } bool PopupMenu::prepareGeometryFor(const QPoint &p, PopupMenu *parent) { + if (_clearLastSeparator) { + _menu->clearLastSeparator(); + for (const auto &[action, submenu] : _submenus) { + submenu->menu()->clearLastSeparator(); + } + } + const auto usingScreenGeometry = !::Platform::IsWayland(); const auto screen = QGuiApplication::screenAt(p); if ((usingScreenGeometry && !screen)