File threads.patch of Package slic3r-prusa-edition
Index: Slic3r-1.2.9/lib/Slic3r/GUI/Plater.pm
===================================================================
--- Slic3r-1.2.9.orig/lib/Slic3r/GUI/Plater.pm
+++ Slic3r-1.2.9/lib/Slic3r/GUI/Plater.pm
@@ -6,7 +6,7 @@ use utf8;
use List::Util qw(sum first max);
use Slic3r::Geometry qw(X Y Z scale unscale deg2rad rad2deg);
use LWP::UserAgent;
-use threads::shared qw(shared_clone);
+use threads; use threads::shared qw(shared_clone);
use Wx qw(:button :colour :cursor :dialog :filedialog :keycode :icon :font :id :listctrl :misc
:panel :sizer :toolbar :window wxTheApp :notebook :combobox wxNullBitmap);
use Wx::Event qw(EVT_BUTTON EVT_TOGGLEBUTTON EVT_COMMAND EVT_KEY_DOWN EVT_LIST_ITEM_ACTIVATED
Index: Slic3r-1.2.9/lib/Slic3r/GUI.pm
===================================================================
--- Slic3r-1.2.9.orig/lib/Slic3r/GUI.pm
+++ Slic3r-1.2.9/lib/Slic3r/GUI.pm
@@ -3,6 +3,7 @@ use strict;
use warnings;
use utf8;
+use threads;
use File::Basename qw(basename);
use FindBin;
use List::Util qw(first);
Index: Slic3r-1.2.9/lib/Slic3r.pm
===================================================================
--- Slic3r-1.2.9.orig/lib/Slic3r.pm
+++ Slic3r-1.2.9/lib/Slic3r.pm
@@ -81,6 +81,7 @@ use constant EXTERNAL_INFILL_MARGIN => 3
use constant SCALING_FACTOR => 0.000001;
# Keep track of threads we created. Perl worker threads shall not create further threads.
+use threads;
my @threads = ();
my $pause_sema = Thread::Semaphore->new;
my $paused = 0;