diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-04-22 18:05:24 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-04-22 18:05:24 +0100 |
commit | cf59cc78468c9bcfef9e16b7b27c115896d805fd (patch) | |
tree | b46b602c381e3a5e35654cf39e71673c96e49362 /media-gfx/prusaslicer/files | |
parent | 5b52b99ca475070991d8e8d1dff674ffe6ffdea9 (diff) |
gentoo auto-resync : 22:04:2023 - 18:05:23
Diffstat (limited to 'media-gfx/prusaslicer/files')
-rw-r--r-- | media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch new file mode 100644 index 000000000000..ae85057f10bd --- /dev/null +++ b/media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch @@ -0,0 +1,76 @@ +diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp +index f8fc2e5a7..c74ee32dd 100644 +--- a/src/libslic3r/GCode.cpp ++++ b/src/libslic3r/GCode.cpp +@@ -1551,27 +1551,27 @@ void GCode::process_layers( + } + }); + const auto spiral_vase = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&spiral_vase = *this->m_spiral_vase](LayerResult in) -> LayerResult { ++ [spiral_vase = this->m_spiral_vase.get()](LayerResult in) -> LayerResult { + if (in.nop_layer_result) + return in; + +- spiral_vase.enable(in.spiral_vase_enable); +- return { spiral_vase.process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush}; ++ spiral_vase->enable(in.spiral_vase_enable); ++ return { spiral_vase->process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush}; + }); + const auto pressure_equalizer = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&pressure_equalizer = *this->m_pressure_equalizer](LayerResult in) -> LayerResult { +- return pressure_equalizer.process_layer(std::move(in)); ++ [pressure_equalizer = this->m_pressure_equalizer.get()](LayerResult in) -> LayerResult { ++ return pressure_equalizer->process_layer(std::move(in)); + }); + const auto cooling = tbb::make_filter<LayerResult, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&cooling_buffer = *this->m_cooling_buffer](LayerResult in) -> std::string { ++ [cooling_buffer = this->m_cooling_buffer.get()](LayerResult in) -> std::string { + if (in.nop_layer_result) + return in.gcode; + +- return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); ++ return cooling_buffer->process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); + }); + const auto find_replace = tbb::make_filter<std::string, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&self = *this->m_find_replace](std::string s) -> std::string { +- return self.process_layer(std::move(s)); ++ [find_replace = this->m_find_replace.get()](std::string s) -> std::string { ++ return find_replace->process_layer(std::move(s)); + }); + const auto output = tbb::make_filter<std::string, void>(slic3r_tbb_filtermode::serial_in_order, + [&output_stream](std::string s) { output_stream.write(s); } +@@ -1633,25 +1633,25 @@ void GCode::process_layers( + } + }); + const auto spiral_vase = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&spiral_vase = *this->m_spiral_vase](LayerResult in)->LayerResult { ++ [spiral_vase = this->m_spiral_vase.get()](LayerResult in)->LayerResult { + if (in.nop_layer_result) + return in; +- spiral_vase.enable(in.spiral_vase_enable); +- return { spiral_vase.process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush }; ++ spiral_vase->enable(in.spiral_vase_enable); ++ return { spiral_vase->process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush }; + }); + const auto pressure_equalizer = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order, +- [&pressure_equalizer = *this->m_pressure_equalizer](LayerResult in) -> LayerResult { +- return pressure_equalizer.process_layer(std::move(in)); ++ [pressure_equalizer = this->m_pressure_equalizer.get()](LayerResult in) -> LayerResult { ++ return pressure_equalizer->process_layer(std::move(in)); + }); + const auto cooling = tbb::make_filter<LayerResult, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&cooling_buffer = *this->m_cooling_buffer](LayerResult in)->std::string { ++ [cooling_buffer = this->m_cooling_buffer.get()](LayerResult in)->std::string { + if (in.nop_layer_result) + return in.gcode; +- return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); ++ return cooling_buffer->process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); + }); + const auto find_replace = tbb::make_filter<std::string, std::string>(slic3r_tbb_filtermode::serial_in_order, +- [&self = *this->m_find_replace](std::string s) -> std::string { +- return self.process_layer(std::move(s)); ++ [find_replace = this->m_find_replace.get()](std::string s) -> std::string { ++ return find_replace->process_layer(std::move(s)); + }); + const auto output = tbb::make_filter<std::string, void>(slic3r_tbb_filtermode::serial_in_order, + [&output_stream](std::string s) { output_stream.write(s); } |