From cf1e53f9c80b9e08151ad3a61457902a5a7c018d Mon Sep 17 00:00:00 2001 From: Elad <18193363+elad335@users.noreply.github.com> Date: Sat, 3 May 2025 18:34:42 +0300 Subject: [PATCH] Fix crash in memory viewer launcher (#17152) --- rpcs3/rpcs3qt/instruction_editor_dialog.cpp | 2 +- rpcs3/rpcs3qt/memory_viewer_panel.cpp | 2 +- rpcs3/rpcs3qt/register_editor_dialog.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rpcs3/rpcs3qt/instruction_editor_dialog.cpp b/rpcs3/rpcs3qt/instruction_editor_dialog.cpp index 26205d2a14..460b7503f6 100644 --- a/rpcs3/rpcs3qt/instruction_editor_dialog.cpp +++ b/rpcs3/rpcs3qt/instruction_editor_dialog.cpp @@ -22,7 +22,7 @@ instruction_editor_dialog::instruction_editor_dialog(QWidget *parent, u32 _pc, C : QDialog(parent) , m_pc(_pc) , m_disasm(_disasm->copy_type_erased()) - , m_get_cpu(std::move(func)) + , m_get_cpu(func ? std::move(func) : std::function(FN(nullptr))) { setWindowTitle(tr("Edit instruction")); setAttribute(Qt::WA_DeleteOnClose); diff --git a/rpcs3/rpcs3qt/memory_viewer_panel.cpp b/rpcs3/rpcs3qt/memory_viewer_panel.cpp index 392b3e0385..c381b18404 100644 --- a/rpcs3/rpcs3qt/memory_viewer_panel.cpp +++ b/rpcs3/rpcs3qt/memory_viewer_panel.cpp @@ -35,7 +35,7 @@ constexpr auto qstr = QString::fromStdString; memory_viewer_panel::memory_viewer_panel(QWidget* parent, std::shared_ptr disasm, u32 addr, std::function func) : QDialog(parent) , m_addr(addr) - , m_get_cpu(std::move(func)) + , m_get_cpu(func ? std::move(func) : std::function(FN(nullptr))) , m_type([&]() { const auto cpu = m_get_cpu(); diff --git a/rpcs3/rpcs3qt/register_editor_dialog.cpp b/rpcs3/rpcs3qt/register_editor_dialog.cpp index 54eb830975..54f50e6f60 100644 --- a/rpcs3/rpcs3qt/register_editor_dialog.cpp +++ b/rpcs3/rpcs3qt/register_editor_dialog.cpp @@ -62,7 +62,7 @@ enum registers : int register_editor_dialog::register_editor_dialog(QWidget *parent, CPUDisAsm* _disasm, std::function func) : QDialog(parent) , m_disasm(_disasm) - , m_get_cpu(std::move(func)) + , m_get_cpu(func ? std::move(func) : std::function(FN(nullptr))) { setWindowTitle(tr("Edit registers")); setAttribute(Qt::WA_DeleteOnClose);