From d0ec6bfba4da915a5cc17cc70c1b6afb6ea466d4 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Wed, 13 Jul 2016 18:05:44 +0200 Subject: [PATCH] fix of bug when reading settings and not enough values are provided --- settings.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/settings.cpp b/settings.cpp index 2993de9b..99f4282a 100644 --- a/settings.cpp +++ b/settings.cpp @@ -91,13 +91,17 @@ void Settings::load() { settingsElements.push_back(value); numValues++; } + //remove trailing /" of last value + if (settingsElements.size() > 0) { + settingsElements.back().pop_back(); + } //two values per line are expected //add missing value - if (numValues < 3) { + for (; numValues < 3; numValues++) { settingsElements.push_back(""); } //discard additional values - for (numValues; numValues > 3; numValues--) { + for (; numValues > 3; numValues--) { settingsElements.pop_back(); } @@ -105,10 +109,7 @@ void Settings::load() { Data d = Data(); string isFullscreen = settingsElements.back(); d.isFullscreen = (isFullscreen.find("isFullscreen") != isFullscreen.npos) ? true : false; - //dont remove an element if isFullscreen was not found - if (d.isFullscreen) { - settingsElements.pop_back(); - } + settingsElements.pop_back(); string sceneName = settingsElements.back(); d.sceneName = sceneName; settingsElements.pop_back();