diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp index 9b816f2e4..8081721ff 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.cpp @@ -300,11 +300,10 @@ void PrintingSelector::getAllSetsForCurrentCard() const QList prependedSets = prependPrintingsInDeck(filteredSets); // Defer widget creation - int batchSize = 10; - int currentIndex = 0; + currentIndex = 0; QTimer *timer = new QTimer(this); connect(timer, &QTimer::timeout, this, [=]() mutable { - for (int i = 0; i < batchSize && currentIndex < prependedSets.size(); ++i, ++currentIndex) { + for (int i = 0; i < BATCH_SIZE && currentIndex < prependedSets.size(); ++i, ++currentIndex) { auto *cardDisplayWidget = new PrintingSelectorCardDisplayWidget(this, deckEditor, deckModel, deckView, cardSizeSlider, selectedCard, prependedSets[currentIndex], currentZone); @@ -317,5 +316,6 @@ void PrintingSelector::getAllSetsForCurrentCard() timer->deleteLater(); } }); + currentIndex = 0; timer->start(0); // Process as soon as possible } diff --git a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h index 1329629fc..cf5779ab8 100644 --- a/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h +++ b/cockatrice/src/client/ui/widgets/printing_selector/printing_selector.h @@ -13,6 +13,8 @@ #include #include +#define BATCH_SIZE 10 + class TabDeckEditor; class PrintingSelector : public QWidget { @@ -61,6 +63,7 @@ private: QTreeView *deckView; CardInfoPtr selectedCard; QString currentZone; + int currentIndex = 0; void selectCard(int changeBy); };