Fixed avoiding of other printed objects, again

Calling std::move on itself causes that the first polygon is empty, which results in disabling this feature on Linux.
This was fixed before, but I accidentally reverted it when AvoidCrossingPerimeters was moved to separate file.
This commit is contained in:
Lukáš Hejl 2020-10-16 10:56:19 +02:00
parent 8adf02a289
commit 3e98e2a4bd

View File

@ -84,7 +84,7 @@ Polygons AvoidCrossingPerimeters::collect_contours_all_layers(const PrintObjectP
polygons_per_layer[i * 2] = union_(polys); polygons_per_layer[i * 2] = union_(polys);
} }
}); });
for (size_t i = 0; i < cnt / 2; ++i) for (size_t i = 1; i < cnt / 2; ++i)
polygons_per_layer[i] = std::move(polygons_per_layer[i * 2]); polygons_per_layer[i] = std::move(polygons_per_layer[i * 2]);
if (cnt & 1) if (cnt & 1)
polygons_per_layer[cnt / 2] = std::move(polygons_per_layer[cnt - 1]); polygons_per_layer[cnt / 2] = std::move(polygons_per_layer[cnt - 1]);