From 509840148047422ea6a21fc4d17b624744fc8a4c Mon Sep 17 00:00:00 2001 From: alves Date: Sat, 28 Feb 2026 11:37:02 +0800 Subject: [PATCH 1/2] fix mutil color upload and print crash bug. --- src/slic3r/GUI/SSWCP.cpp | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/slic3r/GUI/SSWCP.cpp b/src/slic3r/GUI/SSWCP.cpp index 16787a0b1e..eaa9d4c802 100644 --- a/src/slic3r/GUI/SSWCP.cpp +++ b/src/slic3r/GUI/SSWCP.cpp @@ -3058,26 +3058,16 @@ void SSWCP_MachineOption_Instance::sw_GetFileFilamentMapping() return -1; } - if (oriclr.size() == 7) { - for (int i = 1; i <= 6; ++i) { - if (oriclr[7 - i] - '0' >= 0 && oriclr[7 - i] - '0' <= 9) { - res += std::pow(16, i - 1) * (oriclr[7 - i] - '0'); - } else { - res += std::pow(16, i - 1) * (oriclr[7 - i] - 'A' + 10); - } - } - } else { - for (int i = 1; i <= 8; ++i) { - if (oriclr[7 - i] - '0' >= 0 && oriclr[7 - i] - '0' <= 9) { - res += std::pow(16, i - 1) * (oriclr[7 - i] - '0'); - } else { - res += std::pow(16, i - 1) * (oriclr[7 - i] - 'A' + 10); - } - } + auto colorSize = oriclr.size();//7 or 9 + for (auto i = 1; i < colorSize; i++) + { + if (oriclr[colorSize - i] - '0' >= 0 && oriclr[colorSize - i] - '0' <= 9) { + res += std::pow(16, i - 1) * (oriclr[colorSize - i] - '0'); + } else { + res += std::pow(16, i - 1) * (oriclr[colorSize - i] - 'A' + 10); + } } - - return res; }; From 94e1fb9b3fda92da1a76a3396c533be16c6746bc Mon Sep 17 00:00:00 2001 From: alves Date: Sat, 28 Feb 2026 11:41:09 +0800 Subject: [PATCH 2/2] fix color invalid bug. --- src/slic3r/GUI/SSWCP.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/SSWCP.cpp b/src/slic3r/GUI/SSWCP.cpp index eaa9d4c802..1dbdff0177 100644 --- a/src/slic3r/GUI/SSWCP.cpp +++ b/src/slic3r/GUI/SSWCP.cpp @@ -3055,7 +3055,7 @@ void SSWCP_MachineOption_Instance::sw_GetFileFilamentMapping() long long res = 0; if ((oriclr.size() != 7 && oriclr.size() != 9) || oriclr[0] != '#') { - return -1; + return 0; } auto colorSize = oriclr.size();//7 or 9