diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 4ae024900a..0e011677c0 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -999,7 +999,7 @@ sub start_background_process { $self->{print}->process; }; if ($@) { - Slic3r::debugf "Discarding background process error: $@\n"; + Slic3r::debugf "Background process error: $@\n"; Wx::PostEvent($self, Wx::PlThreadEvent->new(-1, $PROCESS_COMPLETED_EVENT, $@)); } else { Wx::PostEvent($self, Wx::PlThreadEvent->new(-1, $PROCESS_COMPLETED_EVENT, undef)); @@ -1150,6 +1150,12 @@ sub on_process_completed { $self->{process_thread}->detach if $self->{process_thread}; $self->{process_thread} = undef; + # if we're supposed to perform an explicit export let's display the error in a dialog + if ($error && $self->{export_gcode_output_file}) { + $self->{export_gcode_output_file} = undef; + Slic3r::GUI::show_error($self, $error); + } + return if $error; $self->{toolpaths2D}->reload_print if $self->{toolpaths2D}; $self->{preview3D}->reload_print if $self->{preview3D}; diff --git a/lib/Slic3r/Print/Object.pm b/lib/Slic3r/Print/Object.pm index 6012c8cd43..99e692de26 100644 --- a/lib/Slic3r/Print/Object.pm +++ b/lib/Slic3r/Print/Object.pm @@ -319,7 +319,7 @@ sub slice { $self->_simplify_slices(scale($self->print->config->resolution)); } - die "No layers were detected. You might want to repair your STL file(s) or check their size and retry.\n" + die "No layers were detected. You might want to repair your STL file(s) or check their size or thickness and retry.\n" if !@{$self->layers}; $self->set_typed_slices(0);