mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-17 02:22:17 +00:00
Flatpak Crash Fix when Fuzzy skin (#12611)
Co-authored-by: Ian Bassi <12130714+ianalexis@users.noreply.github.com>
This commit is contained in:
@@ -257,8 +257,9 @@ SplittedLine do_split_line(const ClipperZUtils::ZPath& path, const ExPolygons& c
|
||||
idx++;
|
||||
} else {
|
||||
if (!is_src(node.front()->front())) {
|
||||
const auto& last = result.back();
|
||||
if (result.empty() || last.get_src_index() != to_src_idx(p)) {
|
||||
if (result.empty() || result.back().get_src_index() != to_src_idx(p)) {
|
||||
//const auto& last = result.back();
|
||||
//if (result.empty() || last.get_src_index() != to_src_idx(p)) {
|
||||
result.emplace_back(to_point(p), false, idx);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -406,12 +406,12 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato
|
||||
|
||||
fuzzy_extrusion_line(segment, slice_z, r.first, false);
|
||||
// Orca: only add non fuzzy point if it's not in the extrusion closing point.
|
||||
if (extrusion->junctions.front().p != front.p) {
|
||||
if (!extrusion->junctions.empty() && extrusion->junctions.front().p != front.p) {
|
||||
extrusion->junctions.push_back(front);
|
||||
}
|
||||
extrusion->junctions.insert(extrusion->junctions.end(), segment.begin(), segment.end());
|
||||
// Orca: only add non fuzzy point if it's not in the extrusion closing point.
|
||||
if (extrusion->junctions.back().p != front.p) {
|
||||
if (!extrusion->junctions.empty() && extrusion->junctions.back().p != front.p) {
|
||||
extrusion->junctions.push_back(back);
|
||||
}
|
||||
segment.clear();
|
||||
@@ -442,7 +442,7 @@ void apply_fuzzy_skin(Arachne::ExtrusionLine* extrusion, const PerimeterGenerato
|
||||
}
|
||||
|
||||
//Orca: ensure the loop is closed after fuzzy
|
||||
if (extrusion->junctions.front().p != extrusion->junctions.back().p) {
|
||||
if (!extrusion->junctions.empty() && extrusion->junctions.front().p != extrusion->junctions.back().p) {
|
||||
extrusion->junctions.back().p = extrusion->junctions.front().p;
|
||||
extrusion->junctions.back().w = extrusion->junctions.front().w;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user