diff --git a/src/duckstation-qt/cheatmanagerdialog.cpp b/src/duckstation-qt/cheatmanagerdialog.cpp index 36fb7f70a..3f5f42483 100644 --- a/src/duckstation-qt/cheatmanagerdialog.cpp +++ b/src/duckstation-qt/cheatmanagerdialog.cpp @@ -670,6 +670,15 @@ void CheatManagerDialog::updateResults() int row = 0; for (const MemoryScan::Result& res : m_scanner.GetResults()) { + if (row == MAX_DISPLAYED_SCAN_RESULTS) + { + QMessageBox::information(this, tr("Memory Scan"), + tr("Memory scan found %1 addresses, but only the first %2 are displayed.") + .arg(m_scanner.GetResultCount()) + .arg(MAX_DISPLAYED_SCAN_RESULTS)); + break; + } + m_ui.scanTable->insertRow(row); QTableWidgetItem* address_item = new QTableWidgetItem(formatHexValue(res.address)); @@ -706,6 +715,8 @@ void CheatManagerDialog::updateResultsValues() } row++; + if (row == MAX_DISPLAYED_SCAN_RESULTS) + break; } } diff --git a/src/duckstation-qt/cheatmanagerdialog.h b/src/duckstation-qt/cheatmanagerdialog.h index 0195a0a2d..51865d6ee 100644 --- a/src/duckstation-qt/cheatmanagerdialog.h +++ b/src/duckstation-qt/cheatmanagerdialog.h @@ -49,6 +49,11 @@ private Q_SLOTS: void updateScanUi(); private: + enum : int + { + MAX_DISPLAYED_SCAN_RESULTS = 5000 + }; + void setupAdditionalUi(); void connectUi(); void setUpdateTimerEnabled(bool enabled);