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;
 }