From 7eea15fdde9ba5e9f324428f37354ba9a1793df7 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 24 Sep 2021 13:01:16 +0200 Subject: [PATCH] Set the project state to 'dirty' only if a project has a name (was saved or loaded). Do not mark the project as dirty if it is a new project which hasn't been saved yet. --- src/slic3r/GUI/ProjectDirtyStateManager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/ProjectDirtyStateManager.cpp b/src/slic3r/GUI/ProjectDirtyStateManager.cpp index 3ca764e913..4ce806b2a8 100644 --- a/src/slic3r/GUI/ProjectDirtyStateManager.cpp +++ b/src/slic3r/GUI/ProjectDirtyStateManager.cpp @@ -195,8 +195,10 @@ void ProjectDirtyStateManager::update_from_undo_redo_stack(UpdateType type) void ProjectDirtyStateManager::update_from_presets() { m_state.presets = false; - for (const auto& [type, name] : wxGetApp().get_selected_presets()) { - m_state.presets |= !m_initial_presets[type].empty() && m_initial_presets[type] != name; + // check switching of the presets only for exist/loaded project, but not for new + if (!wxGetApp().plater()->get_project_filename().IsEmpty()) { + for (const auto& [type, name] : wxGetApp().get_selected_presets()) + m_state.presets |= !m_initial_presets[type].empty() && m_initial_presets[type] != name; } m_state.presets |= wxGetApp().has_unsaved_preset_changes(); wxGetApp().mainframe->update_title();