From 8a0b6761d5d7e5f8f5dc34c750ebfdbb62c8d72e Mon Sep 17 00:00:00 2001 From: RickyRister Date: Thu, 22 Jan 2026 18:42:12 -0800 Subject: [PATCH] fix crash --- .../interface/widgets/deck_editor/deck_state_manager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_state_manager.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_state_manager.cpp index 0e82fe597..09254608e 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_state_manager.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_state_manager.cpp @@ -207,11 +207,13 @@ QModelIndex DeckStateManager::decrementCard(const ExactCard &card, const QString return {}; } - if (idx.isValid()) { - emit focusIndexChanged(idx, true); + // old index is no longer safe since rows could have been removed + QModelIndex newIdx = deckListModel->findCard(card.getName(), zoneName, providerId, collectorNumber); + if (newIdx.isValid()) { + emit focusIndexChanged(newIdx, true); } - return idx; + return newIdx; } static bool doSwapCard(DeckListModel *model,