diff --git a/resources/icons/redo_toolbar.svg b/resources/icons/redo_toolbar.svg index ad073244f..d005f8373 100644 --- a/resources/icons/redo_toolbar.svg +++ b/resources/icons/redo_toolbar.svg @@ -1,12 +1,13 @@ - + - - - - - + diff --git a/resources/icons/undo_toolbar.svg b/resources/icons/undo_toolbar.svg index 699ccd807..15778a7ba 100644 --- a/resources/icons/undo_toolbar.svg +++ b/resources/icons/undo_toolbar.svg @@ -1,12 +1,13 @@ - + - - - - - + diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index c311472c7..fa7869e6a 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3179,7 +3179,12 @@ void Plater::priv::set_current_panel(wxPanel* panel) } else if (current_panel == preview) { - this->q->reslice(); + // see: Plater::priv::object_list_changed() + // FIXME: it may be better to have a single function making this check and let it be called wherever needed + bool export_in_progress = this->background_process.is_export_scheduled(); + bool model_fits = view3D->check_volumes_outside_state() != ModelInstance::PVS_Partly_Outside; + if (!model.objects.empty() && !export_in_progress && model_fits) + this->q->reslice(); // keeps current gcode preview, if any preview->reload_print(true); preview->set_canvas_as_dirty();