summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/CheatSearchWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinQt/CheatSearchWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/CheatSearchWidget.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/Source/Core/DolphinQt/CheatSearchWidget.cpp b/Source/Core/DolphinQt/CheatSearchWidget.cpp
index 020c7607a1..a76373238e 100644
--- a/Source/Core/DolphinQt/CheatSearchWidget.cpp
+++ b/Source/Core/DolphinQt/CheatSearchWidget.cpp
@@ -54,8 +54,10 @@ constexpr int ADDRESS_TABLE_COLUMN_INDEX_ADDRESS = 1;
constexpr int ADDRESS_TABLE_COLUMN_INDEX_LAST_VALUE = 2;
constexpr int ADDRESS_TABLE_COLUMN_INDEX_CURRENT_VALUE = 3;
-CheatSearchWidget::CheatSearchWidget(std::unique_ptr<Cheats::CheatSearchSessionBase> session)
- : m_session(std::move(session))
+CheatSearchWidget::CheatSearchWidget(Core::System& system,
+ std::unique_ptr<Cheats::CheatSearchSessionBase> session,
+ QWidget* parent)
+ : QWidget(parent), m_system(system), m_session(std::move(session))
{
setAttribute(Qt::WA_DeleteOnClose);
CreateWidgets();
@@ -275,13 +277,10 @@ void CheatSearchWidget::ConnectWidgets()
void CheatSearchWidget::OnNextScanClicked()
{
- Core::CPUThreadGuard guard(Core::System::GetInstance());
const bool had_old_results = m_session->WasFirstSearchDone();
- const size_t old_count = m_session->GetResultCount();
const auto filter_type = m_value_source_dropdown->currentData().value<Cheats::FilterType>();
- if (filter_type == Cheats::FilterType::CompareAgainstLastValue &&
- !m_session->WasFirstSearchDone())
+ if (filter_type == Cheats::FilterType::CompareAgainstLastValue && !had_old_results)
{
m_info_label_1->setText(tr("Cannot compare against last value on first search."));
return;
@@ -301,7 +300,8 @@ void CheatSearchWidget::OnNextScanClicked()
}
}
- const Cheats::SearchErrorCode error_code = m_session->RunSearch(guard);
+ const size_t old_count = m_session->GetResultCount();
+ const Cheats::SearchErrorCode error_code = m_session->RunSearch(Core::CPUThreadGuard{m_system});
if (error_code == Cheats::SearchErrorCode::Success)
{
@@ -416,11 +416,11 @@ void CheatSearchWidget::UpdateTableVisibleCurrentValues(const UpdateSource sourc
if (source == UpdateSource::Auto && !m_autoupdate_current_values->isChecked())
return;
- Core::CPUThreadGuard guard(Core::System::GetInstance());
if (m_address_table->rowCount() == 0)
return;
- UpdateTableRows(guard, GetVisibleRowsBeginIndex(), GetVisibleRowsEndIndex(), source);
+ UpdateTableRows(Core::CPUThreadGuard{m_system}, GetVisibleRowsBeginIndex(),
+ GetVisibleRowsEndIndex(), source);
}
bool CheatSearchWidget::UpdateTableAllCurrentValues(const UpdateSource source)
@@ -428,7 +428,6 @@ bool CheatSearchWidget::UpdateTableAllCurrentValues(const UpdateSource source)
if (source == UpdateSource::Auto && !m_autoupdate_current_values->isChecked())
return false;
- Core::CPUThreadGuard guard(Core::System::GetInstance());
const size_t result_count = m_address_table->rowCount();
if (result_count == 0)
{
@@ -437,7 +436,7 @@ bool CheatSearchWidget::UpdateTableAllCurrentValues(const UpdateSource source)
return false;
}
- return UpdateTableRows(guard, 0, result_count, source);
+ return UpdateTableRows(Core::CPUThreadGuard{m_system}, 0, result_count, source);
}
void CheatSearchWidget::OnRefreshClicked()
@@ -447,7 +446,6 @@ void CheatSearchWidget::OnRefreshClicked()
void CheatSearchWidget::OnResetClicked()
{
- Core::CPUThreadGuard guard(Core::System::GetInstance());
m_session->ResetResults();
m_address_table_current_values.clear();
@@ -525,7 +523,6 @@ void CheatSearchWidget::OnDisplayHexCheckboxStateChanged()
void CheatSearchWidget::GenerateARCode()
{
- Core::CPUThreadGuard guard(Core::System::GetInstance());
if (m_address_table->selectedItems().isEmpty())
return;