From faed500520f7f52e71a6aa82c45d7659e2a7d54e Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci <aar@cpan.org> Date: Mon, 22 Dec 2014 18:56:16 +0100 Subject: [PATCH] Refresh slider when reloading print in toolpath preview canvas --- lib/Slic3r/GUI/Plater/2DToolpaths.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/Slic3r/GUI/Plater/2DToolpaths.pm b/lib/Slic3r/GUI/Plater/2DToolpaths.pm index 2faf59fa0..208d85a59 100644 --- a/lib/Slic3r/GUI/Plater/2DToolpaths.pm +++ b/lib/Slic3r/GUI/Plater/2DToolpaths.pm @@ -91,10 +91,15 @@ sub reload_print { $z{$layer->print_z} = 1; } } + $self->enabled(1); $self->{layers_z} = [ sort { $a <=> $b } keys %z ]; $self->{slider}->SetRange(0, scalar(@{$self->{layers_z}})-1); - $self->enabled(1); - $self->set_z($self->{layers_z}[0]) if @{$self->{layers_z}}; + if ((my $z_idx = $self->{slider}->GetValue) <= $#{$self->{layers_z}}) { + $self->set_z($self->{layers_z}[$z_idx]); + } else { + $self->{slider}->SetValue(0); + $self->set_z($self->{layers_z}[0]) if @{$self->{layers_z}}; + } $self->{slider}->Show; $self->Layout; }