SaveTool: improve reliability.

This commit is contained in:
Guillaume Jacquemin 2022-11-21 19:09:18 +01:00
parent 8cf5351f0b
commit 060daebe17
2 changed files with 14 additions and 3 deletions

View file

@ -14,10 +14,12 @@
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
#include <Corrade/Utility/Format.h>
#include <Corrade/Utility/String.h> #include <Corrade/Utility/String.h>
#include <Corrade/Utility/Unicode.h> #include <Corrade/Utility/Unicode.h>
#include <SDL_events.h> #include <SDL_events.h>
#include <SDL_messagebox.h>
#include <fileapi.h> #include <fileapi.h>
#include <handleapi.h> #include <handleapi.h>
@ -98,7 +100,11 @@ void SaveTool::fileUpdateEvent(SDL_Event& event) {
if(is_current_profile) { if(is_current_profile) {
_currentProfile = nullptr; _currentProfile = nullptr;
_uiState = UiState::ProfileManager; _uiState = UiState::ProfileManager;
_profileManager->refreshProfiles(); if(!_profileManager->refreshProfiles()) {
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error",
_profileManager->lastError().data(), window());
exit(EXIT_FAILURE);
}
} }
else if(is_unit) { else if(is_unit) {
if(!_currentMass || _currentMass != &(_massManager->hangar(index))) { if(!_currentMass || _currentMass != &(_massManager->hangar(index))) {

View file

@ -52,7 +52,8 @@ void SaveTool::drawProfileManager() {
ImGui::TableSetColumnIndex(1); ImGui::TableSetColumnIndex(1);
if(ImGui::SmallButton("Refresh")) { if(ImGui::SmallButton("Refresh")) {
if(!_profileManager->refreshProfiles()) { if(!_profileManager->refreshProfiles()) {
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error in ProfileManager", _profileManager->lastError().data(), window()); SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error",
_profileManager->lastError().data(), window());
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
} }
@ -159,7 +160,11 @@ auto SaveTool::drawBackupListPopup() -> ImGuiID {
if(!_profileManager->restoreBackup(backup_index)) { if(!_profileManager->restoreBackup(backup_index)) {
_queue.addToast(Toast::Type::Error, _profileManager->lastError()); _queue.addToast(Toast::Type::Error, _profileManager->lastError());
} }
_profileManager->refreshProfiles(); if(!_profileManager->refreshProfiles()) {
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error",
_profileManager->lastError().data(), window());
exit(EXIT_FAILURE);
}
ImGui::CloseCurrentPopup(); ImGui::CloseCurrentPopup();
} }
ImGui::SameLine(); ImGui::SameLine();