Clear last separator in geometry prepare.

This commit is contained in:
John Preston 2024-05-10 14:09:33 +04:00
parent 41d1fe9232
commit 19193b3c7b

View file

@ -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)