From 1f29a2593b34e1ededdaab547d5886c58854fbf6 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Mon, 7 Jun 2021 12:30:57 +0200 Subject: [PATCH] Fixed two more locales-related issues One warning was also fixed --- src/libslic3r/AppConfig.hpp | 2 +- src/libslic3r/Geometry.cpp | 1 + src/slic3r/GUI/Field.cpp | 2 +- src/slic3r/GUI/GUI_ObjectList.cpp | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp index 03924175d8..c1bc0837cf 100644 --- a/src/libslic3r/AppConfig.hpp +++ b/src/libslic3r/AppConfig.hpp @@ -178,7 +178,7 @@ private: auto it_val = it->second.find(parameter_name); if (it_val == it->second.end()) return false; - out = T(::atof(it_val->second.c_str())); + out = T(string_to_double_decimal_point(it_val->second)); return true; } diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index c4a66a1776..3214432049 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1494,6 +1494,7 @@ Transformation Transformation::volume_to_bed_transformation(const Transformation // For parsing a transformation matrix from 3MF / AMF. Transform3d transform3d_from_string(const std::string& transform_str) { + assert(is_decimal_separator_point()); // for atof Transform3d transform = Transform3d::Identity(); if (!transform_str.empty()) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index de8d3c1047..293daacbcb 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -1217,7 +1217,7 @@ boost::any& Choice::get_value() else if (m_opt.type == coInt) m_value = atoi(m_opt.enum_values[ret_enum].c_str()); else - m_value = atof(m_opt.enum_values[ret_enum].c_str()); + m_value = string_to_double_decimal_point(m_opt.enum_values[ret_enum]); } else // modifies ret_string! diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 34804f2a53..9ec17fb48c 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -3913,7 +3913,7 @@ void ObjectList::apply_volumes_order() if (wxGetApp().app_config->get("order_volumes") != "1" || !m_objects) return; - for (int obj_idx = 0; obj_idx < m_objects->size(); obj_idx++) + for (size_t obj_idx = 0; obj_idx < m_objects->size(); obj_idx++) reorder_volumes_and_get_selection(obj_idx); }