Fix intermittent segfault in VDS sort (#5843)

This commit is contained in:
RickyRister
2025-04-17 07:10:08 -07:00
committed by GitHub
parent 2189fc0a96
commit 36f9f65798

View File

@@ -211,14 +211,18 @@ void VisualDeckStorageWidget::createRootFolderWidget()
scrollArea->setWidget(folderWidget); // this automatically destroys the old folderWidget
scrollArea->widget()->setMaximumWidth(scrollArea->viewport()->width());
scrollArea->widget()->adjustSize();
reapplySortAndFilters();
/* We have to schedule a QTimer here so that the sorting logic doesn't try to access widgets that haven't been
* processed by the event loop yet. Otherwise, deck sorting will intermittently segfault on some systems.
*/
QTimer::singleShot(0, this, &VisualDeckStorageWidget::reapplySortAndFilters);
}
void VisualDeckStorageWidget::updateShowFolders(bool enabled)
{
if (folderWidget) {
folderWidget->updateShowFolders(enabled);
reapplySortAndFilters();
QTimer::singleShot(0, this, &VisualDeckStorageWidget::reapplySortAndFilters);
}
}