From 0094d50d9372f756afc1e6ea18874accb2055281 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 29 Jun 2021 16:21:56 +0200 Subject: [PATCH] Move show_substitutions_info() call into UI thread --- src/slic3r/GUI/Jobs/SLAImportJob.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index e96479319..fe429e314 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -140,27 +140,22 @@ void SLAImportJob::process() if (p->path.empty()) return; std::string path = p->path.ToUTF8().data(); - ConfigSubstitutions config_substitutions; try { switch (p->sel) { case Sel::modelAndProfile: - config_substitutions = import_sla_archive(path, p->win, p->mesh, p->profile, progr); + p->config_substitutions = import_sla_archive(path, p->win, p->mesh, p->profile, progr); break; case Sel::modelOnly: - config_substitutions = import_sla_archive(path, p->win, p->mesh, progr); + p->config_substitutions = import_sla_archive(path, p->win, p->mesh, progr); break; case Sel::profileOnly: - config_substitutions = import_sla_archive(path, p->profile); + p->config_substitutions = import_sla_archive(path, p->profile); break; } } catch (std::exception &ex) { p->err = ex.what(); } - - if (! config_substitutions.empty()) { - show_substitutions_info(config_substitutions, path); - } update_status(100, was_canceled() ? _(L("Importing canceled.")) : _(L("Importing done."))); @@ -187,6 +182,7 @@ void SLAImportJob::prepare() p->path = !nm.Exists(wxFILE_EXISTS_REGULAR) ? "" : nm.GetFullPath(); p->sel = dlg.get_selection(); p->win = dlg.get_marchsq_windowsize(); + p->config_substitutions.clear(); } else { p->path = ""; } @@ -230,8 +226,11 @@ void SLAImportJob::finalize() p->plater->sidebar().obj_list()->load_mesh_object(TriangleMesh{p->mesh}, name, is_centered); } - + + if (! p->config_substitutions.empty()) + show_substitutions_info(p->config_substitutions, p->path.ToUTF8().data()); + reset(); } -}} +}} // namespace Slic3r::GUI