From 88ee27b7f000407c3c783737ef61be4a06d69f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sun, 11 Oct 2026 17:51:52 +0200 Subject: [PATCH] [Oracle] Skip low-memory prompt in background mode, guard with HAS_LZMA --- oracle/src/pages.cpp | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/oracle/src/pages.cpp b/oracle/src/pages.cpp index e77d3b08a..5807793be 100644 --- a/oracle/src/pages.cpp +++ b/oracle/src/pages.cpp @@ -327,21 +327,30 @@ void LoadSetsPage::initializePage() urlLineEdit->setText(wizard()->settings->value("allsetsurl", ALLSETS_URL).toString()); // Memory check because Oracle parsing fails on systems with less than 4GiB for MTGJsons allPrintings.json + // The fallback URL is xz-compressed, so only offer it in builds that can read it. + // During background (automatic) updates there is no user to answer, so switch silently. +#ifdef HAS_LZMA if (!SystemMemoryQuerier::hasAtLeastGiB(4) && urlLineEdit->text() == ALLSETS_URL) { - // Ask user whether to switch URL - QMessageBox msgBox( - QMessageBox::Question, tr("Low Memory Detected"), - tr("Your system has less than 4 GiB of memory.\n" - "Using the default AllPrintings URL may cause high memory usage and is known to fail as a result.\n\n" - "Would you like to switch to the direct-download pre-parsed URL instead? (Updated daily)"), - QMessageBox::Yes | QMessageBox::No, this); - - msgBox.setDefaultButton(QMessageBox::Yes); - - if (msgBox.exec() == QMessageBox::Yes) { + if (wizard()->backgroundMode) { urlLineEdit->setText(MTGXML_URL); + } else { + // Ask user whether to switch URL + QMessageBox msgBox( + QMessageBox::Question, tr("Low Memory Detected"), + tr("Your system has less than 4 GiB of memory.\n" + "Using the default AllPrintings URL may cause high memory usage and is known to fail as a " + "result.\n\n" + "Would you like to switch to the direct-download pre-parsed URL instead? (Updated daily)"), + QMessageBox::Yes | QMessageBox::No, this); + + msgBox.setDefaultButton(QMessageBox::Yes); + + if (msgBox.exec() == QMessageBox::Yes) { + urlLineEdit->setText(MTGXML_URL); + } } } +#endif progressLabel->hide(); progressBar->hide();