From b0b9c17c23aa26296e9a565aea63d5cd1bf034b1 Mon Sep 17 00:00:00 2001 From: Greg Thornton Date: Wed, 28 Jan 2015 09:08:50 -0600 Subject: [PATCH] Use std::getline to deserialize point list coords, fixes #2318 --- xs/src/libslic3r/Config.hpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/xs/src/libslic3r/Config.hpp b/xs/src/libslic3r/Config.hpp index 0d86294a3..313b524fa 100644 --- a/xs/src/libslic3r/Config.hpp +++ b/xs/src/libslic3r/Config.hpp @@ -295,18 +295,21 @@ class ConfigOptionPoints : public ConfigOption, public ConfigOptionVector values; + this->values.clear(); std::istringstream is(str); std::string point_str; while (std::getline(is, point_str, ',')) { Pointf point; std::istringstream iss(point_str); - iss >> point.x; - iss.ignore(std::numeric_limits::max(), 'x'); - iss >> point.y; - values.push_back(point); + std::string coord_str; + if (std::getline(iss, coord_str, 'x')) { + std::istringstream(coord_str) >> point.x; + if (std::getline(iss, coord_str, 'x')) { + std::istringstream(coord_str) >> point.y; + } + } + this->values.push_back(point); } - this->values = values; return true; }; };