diff --git a/source/appstates/BackupMenuState.cpp b/source/appstates/BackupMenuState.cpp index 55a1be3..30b9614 100644 --- a/source/appstates/BackupMenuState.cpp +++ b/source/appstates/BackupMenuState.cpp @@ -92,7 +92,10 @@ void BackupMenuState::render() sdl::text::render(target, 32, 673, 22, sdl::text::NO_WRAP, colors::WHITE, m_controlGuide); sm_menuRenderTarget->clear(colors::TRANSPARENT); - sm_backupMenu->render(sm_menuRenderTarget, hasFocus); + { + std::lock_guard menuGuard{sm_menuMutex}; + sm_backupMenu->render(sm_menuRenderTarget, hasFocus); + } sm_menuRenderTarget->render(target, 0, 43); sm_slidePanel->render(sdl::Texture::Null, hasFocus); diff --git a/source/strings/strings.cpp b/source/strings/strings.cpp index 8063308..ee14db7 100644 --- a/source/strings/strings.cpp +++ b/source/strings/strings.cpp @@ -106,21 +106,21 @@ static fslib::Path get_file_path() static void replace_buttons_in_string(std::string &target) { - stringutil::replace_in_string(target, "[A]", "\ue0e0"); - stringutil::replace_in_string(target, "[B]", "\ue0e1"); - stringutil::replace_in_string(target, "[X]", "\ue0e2"); - stringutil::replace_in_string(target, "[Y]", "\ue0e3"); - stringutil::replace_in_string(target, "[L]", "\ue0e4"); - stringutil::replace_in_string(target, "[R]", "\ue0e5"); - stringutil::replace_in_string(target, "[ZL]", "\ue0e6"); - stringutil::replace_in_string(target, "[ZR]", "\ue0e7"); - stringutil::replace_in_string(target, "[SL]", "\ue0e8"); - stringutil::replace_in_string(target, "[SR]", "\ue0e9"); - stringutil::replace_in_string(target, "[DPAD]", "\ue0ea"); - stringutil::replace_in_string(target, "[DUP]", "\ue0eb"); - stringutil::replace_in_string(target, "[DDOWN]", "\ue0ec"); - stringutil::replace_in_string(target, "[DLEFT]", "\ue0ed"); - stringutil::replace_in_string(target, "[DRIGHT]", "\ue0ee"); - stringutil::replace_in_string(target, "[+]", "\ue0ef"); - stringutil::replace_in_string(target, "[-]", "\ue0f0"); + stringutil::replace_in_string(target, "[A]", "\ue0a0"); + stringutil::replace_in_string(target, "[B]", "\ue0a1"); + stringutil::replace_in_string(target, "[X]", "\ue0a2"); + stringutil::replace_in_string(target, "[Y]", "\ue0a3"); + stringutil::replace_in_string(target, "[L]", "\ue0a4"); + stringutil::replace_in_string(target, "[R]", "\ue0a5"); + stringutil::replace_in_string(target, "[ZL]", "\ue0a6"); + stringutil::replace_in_string(target, "[ZR]", "\ue0a7"); + stringutil::replace_in_string(target, "[SL]", "\ue0a8"); + stringutil::replace_in_string(target, "[SR]", "\ue0a9"); + stringutil::replace_in_string(target, "[DPAD]", "\ue0d0"); + stringutil::replace_in_string(target, "[DUP]", "\ue0d1"); + stringutil::replace_in_string(target, "[DDOWN]", "\ue0d2"); + stringutil::replace_in_string(target, "[DLEFT]", "\ue0d3"); + stringutil::replace_in_string(target, "[DRIGHT]", "\ue0d4"); + stringutil::replace_in_string(target, "[+]", "\ue0b3"); + stringutil::replace_in_string(target, "[-]", "\ue0b4"); } diff --git a/source/tasks/backup.cpp b/source/tasks/backup.cpp index 47fd8bf..d3a0e8a 100644 --- a/source/tasks/backup.cpp +++ b/source/tasks/backup.cpp @@ -245,6 +245,7 @@ void tasks::backup::restore_backup_local(sys::ProgressTask *task, BackupMenuStat fs::copy_file_commit(target, fs::DEFAULT_SAVE_ROOT, journalSize, task); } + spawningState->save_data_written(); spawningState->refresh(); task->complete(); } @@ -253,9 +254,10 @@ void tasks::backup::restore_backup_remote(sys::ProgressTask *task, BackupMenuSta { if (error::is_null(task)) { return; } - data::User *user = taskData->user; - data::TitleInfo *titleInfo = taskData->titleInfo; - remote::Storage *remote = remote::get_remote_storage(); + data::User *user = taskData->user; + data::TitleInfo *titleInfo = taskData->titleInfo; + remote::Storage *remote = remote::get_remote_storage(); + BackupMenuState *spawningState = taskData->spawningState; if (error::is_null(user) || error::is_null(titleInfo) || error::is_null(remote)) { TASK_FINISH_RETURN(task); } const bool autoBackup = config::get_by_key(config::keys::AUTO_BACKUP_ON_RESTORE); @@ -327,6 +329,7 @@ void tasks::backup::restore_backup_remote(sys::ProgressTask *task, BackupMenuSta ui::PopMessageManager::push_message(popTicks, popErrorDeleting); } + spawningState->save_data_written(); task->complete(); }