From 91e27e8e956f46dc9ee014c6d95526cb092f4813 Mon Sep 17 00:00:00 2001 From: "weiting.ji" Date: Fri, 18 Jul 2025 20:28:29 +0800 Subject: [PATCH] FIX: Client crash when opening certain model or select certain item in the comparator dropdown menu Jira: STUDIO-13491 Change-Id: I40e9cb406fa1b26da9a6527ff5b0bc68d9b10a52 (cherry picked from commit 11f520e44b0ee74abef3433d2b8fefcdd326cb26) --- src/slic3r/GUI/Plater.cpp | 2 ++ src/slic3r/GUI/UnsavedChangesDialog.cpp | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 5c20bac301..479b5622e1 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5543,6 +5543,7 @@ std::vector Plater::priv::load_files(const std::vector& input_ this->preview->update_gcode_result(partplate_list.get_current_slice_result()); release_PlateData_list(plate_data); sidebar->obj_list()->reload_all_plates(); + q->suppress_background_process(true); } else { partplate_list.reload_all_objects(); } @@ -6305,6 +6306,7 @@ std::vector Plater::priv::load_files(const std::vector& input_ if (msg.ShowModal() == wxID_YES) {} } } + q->schedule_background_process(true); return obj_idxs; } diff --git a/src/slic3r/GUI/UnsavedChangesDialog.cpp b/src/slic3r/GUI/UnsavedChangesDialog.cpp index 09f53d3b28..91f78f2c4b 100644 --- a/src/slic3r/GUI/UnsavedChangesDialog.cpp +++ b/src/slic3r/GUI/UnsavedChangesDialog.cpp @@ -1212,6 +1212,9 @@ static wxString get_string_value(std::string opt_key, const DynamicPrintConfig& opt_idx = orig_opt_idx >= 0 ? orig_opt_idx : 0; opt_key = get_pure_opt_key(opt_key); auto option = config.option(opt_key); + if (!option) { + return _L("N/A"); + } if (option->is_scalar() && config.option(opt_key)->is_nil() || option->is_vector() && dynamic_cast(config.option(opt_key))->is_nil(opt_idx))