From ba9dbb2f52b88deec8291586954aba4df5c421b6 Mon Sep 17 00:00:00 2001 From: Matthias Kuehlewein Date: Wed, 10 Jun 2026 16:49:03 +0200 Subject: [PATCH 1/2] PieMenu: Ensure popup menu stays within viewport The popup pie menu would be clipped when overflowing the screen edges. To avoid clipping, use the existing dead code to shift position. --- src/gui/widgets/pie_menu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widgets/pie_menu.cpp b/src/gui/widgets/pie_menu.cpp index 0905ae82a..2c0de64ff 100644 --- a/src/gui/widgets/pie_menu.cpp +++ b/src/gui/widgets/pie_menu.cpp @@ -175,7 +175,7 @@ void PieMenu::popup(const QPoint& pos) else if (cursor_pos.y() < total_radius) cursor_pos.setY(total_radius); - setGeometry(pos.x() - total_radius, pos.y() - total_radius, 2 * total_radius, 2 * total_radius); + setGeometry(cursor_pos.x() - total_radius, cursor_pos.y() - total_radius, 2 * total_radius, 2 * total_radius); clicked = false; active_action = nullptr; From 86f1609bdf40f5f8fe424f14546c7d3337697e2e Mon Sep 17 00:00:00 2001 From: Matthias Kuehlewein Date: Wed, 10 Jun 2026 23:01:32 +0200 Subject: [PATCH 2/2] PieMenu: Modify original position --- src/gui/widgets/pie_menu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widgets/pie_menu.cpp b/src/gui/widgets/pie_menu.cpp index 2c0de64ff..ec5bade34 100644 --- a/src/gui/widgets/pie_menu.cpp +++ b/src/gui/widgets/pie_menu.cpp @@ -162,7 +162,7 @@ void PieMenu::popup(const QPoint& pos) { updateCachedState(); // We need the current total_radius. - QPoint cursor_pos = QCursor::pos(); + QPoint cursor_pos = pos; QRect screen_rect = qApp->desktop()->availableGeometry(cursor_pos); if (cursor_pos.x() > screen_rect.right() - total_radius)