From 4c5a5e3e55404f7c66eb9886c78c9d719e4aacbe Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Sun, 11 Oct 2026 15:36:11 +0200 Subject: [PATCH] [Game] Invalidate view when hiding replaced card menu (#7453) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Game] Invalidate view when hiding replaced card menu Hide any visible card menu before replacing and invalidate viewport. * [Game] Fix viewport update compile error in setCardMenu QWidget::update has no QRectF overload, and sceneRect is in scene coordinates rather than viewport coordinates anyway, so invalidate the whole viewport instead. --------- Co-authored-by: Lukas BrĂ¼bach --- cockatrice/src/interface/widgets/tabs/tab_game.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cockatrice/src/interface/widgets/tabs/tab_game.cpp b/cockatrice/src/interface/widgets/tabs/tab_game.cpp index 9a6862b2c..4cf5919ba 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_game.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_game.cpp @@ -1060,6 +1060,12 @@ void TabGame::setCardMenu(CardMenu *menu) return; } + if (aCardMenu->menu() && aCardMenu->menu()->isVisible()) { + aCardMenu->menu()->hide(); + if (gameView && gameView->viewport()) { + gameView->viewport()->update(); + } + } if (menu) { aCardMenu->setMenu(menu); } else {