From 22f8d57b365c72498b601c459223f92d514daf23 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Sat, 19 May 2012 19:40:51 +0200 Subject: [PATCH] Memory optimizations broke thin walls --- lib/Slic3r/Extruder.pm | 9 ++++++--- lib/Slic3r/Geometry.pm | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/Slic3r/Extruder.pm b/lib/Slic3r/Extruder.pm index d9bb7667..d771eaf2 100644 --- a/lib/Slic3r/Extruder.pm +++ b/lib/Slic3r/Extruder.pm @@ -68,9 +68,12 @@ sub change_layer { sub extrude { my $self = shift; - return $_[0]->isa('Slic3r::ExtrusionLoop') - ? $self->extrude_loop(@_) - : $self->extrude_path(@_); + if ($_[0]->isa('Slic3r::ExtrusionLoop')) { + $self->extrude_loop(@_); + } else { + $_[0]->deserialize; + $self->extrude_path(@_); + } } sub extrude_loop { diff --git a/lib/Slic3r/Geometry.pm b/lib/Slic3r/Geometry.pm index 989f9865..df77ca7d 100644 --- a/lib/Slic3r/Geometry.pm +++ b/lib/Slic3r/Geometry.pm @@ -714,7 +714,7 @@ sub angle3points { sub polyline_remove_parallel_continuous_edges { my ($points, $isPolygon) = @_; - + use XXX; ZZZ $points if !eval {@$points}; for (my $i = $isPolygon ? 0 : 2; $i <= $#$points && @$points >= 3; $i++) { if (Slic3r::Geometry::lines_parallel([$points->[$i-2], $points->[$i-1]], [$points->[$i-1], $points->[$i]])) { # we can remove $points->[$i-1]