Fix crash bugs

This commit is contained in:
Hamish Milne 2020-01-06 23:20:18 +00:00 committed by zhupengfei
parent 116d22d562
commit f2de70c3fb
8 changed files with 32 additions and 21 deletions

View file

@ -44,6 +44,8 @@
#include "network/network.h"
#include "video_core/video_core.h"
#include "core/hle/service/pm/pm_app.h"
namespace Core {
/*static*/ System System::s_instance;
@ -214,8 +216,8 @@ System::ResultStatus System::Init(Frontend::EmuWindow& emu_window, u32 system_mo
timing = std::make_unique<Timing>();
kernel = std::make_unique<Kernel::KernelSystem>(*memory, *timing,
[this] { PrepareReschedule(); }, system_mode);
kernel = std::make_unique<Kernel::KernelSystem>(
*memory, *timing, [this] { PrepareReschedule(); }, system_mode);
if (Settings::values.use_cpu_jit) {
#ifdef ARCHITECTURE_x86_64
@ -420,11 +422,17 @@ void System::serialize(Archive& ar, const unsigned int file_version) {
}
void System::Save(std::ostream& stream) const {
{
oarchive oa{stream};
oa&* this;
try {
{
oarchive oa{stream};
oa&* this;
}
VideoCore::Save(stream);
} catch (const std::exception& e) {
LOG_ERROR(Core, "Error saving: {}", e.what());
}
VideoCore::Save(stream);
}
void System::Load(std::istream& stream) {