diff --git a/resources/icons/redo_toolbar.svg b/resources/icons/redo_toolbar.svg index ad073244f8..d005f83736 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 699ccd807f..15778a7baf 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 c311472c7b..fa7869e6ad 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();