From 4a0dcb0b8b8a870c3a4ef7d03c5b21eb1032bf6c Mon Sep 17 00:00:00 2001 From: RickyRister Date: Thu, 17 Apr 2025 00:20:00 -0700 Subject: [PATCH] Fix intermittent segfault in VDS sort --- .../visual_deck_storage/visual_deck_storage_widget.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp index a1c75644c..697b46e24 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp @@ -211,14 +211,16 @@ void VisualDeckStorageWidget::createRootFolderWidget() scrollArea->setWidget(folderWidget); // this automatically destroys the old folderWidget scrollArea->widget()->setMaximumWidth(scrollArea->viewport()->width()); scrollArea->widget()->adjustSize(); - reapplySortAndFilters(); + + // Deck sort intermittently segfaults due to invalid DeckPreviewWidget, unless we use QTimer trick + QTimer::singleShot(0, this, &VisualDeckStorageWidget::reapplySortAndFilters); } void VisualDeckStorageWidget::updateShowFolders(bool enabled) { if (folderWidget) { folderWidget->updateShowFolders(enabled); - reapplySortAndFilters(); + QTimer::singleShot(0, this, &VisualDeckStorageWidget::reapplySortAndFilters); } }