From abf3e69b970d5c0d0f68a572e2b73d6d4cb6afbe Mon Sep 17 00:00:00 2001 From: Benjamin Jillich <43751992+amzn-jillich@users.noreply.github.com> Date: Tue, 30 Nov 2021 11:25:05 +0100 Subject: [PATCH] EMotion FX: Saving Anim Graph with CTRL+S displays unsaved changes prompt when no changes were made (#5936) Saving an anim graph did not adjust the dirty flag and thus the saved changes dialog kept showing anim graphs that already saved the latest changes. Signed-off-by: Benjamin Jillich --- .../Tools/EMotionStudio/EMStudioSDK/Source/Commands.cpp | 5 +++++ Gems/EMotionFX/Code/Tests/UI/CanUseFileMenu.cpp | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/Commands.cpp b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/Commands.cpp index b46fa645d1..e2e2224c67 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/Commands.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/Commands.cpp @@ -581,6 +581,11 @@ namespace EMStudio animGraph->SetFileName(filename.c_str()); } + if (parameters.GetValueAsBool("updateDirtyFlag", this)) + { + animGraph->SetDirtyFlag(false); + } + GetMainWindow()->GetFileManager()->SourceAssetChanged(filename); // Add file in case it did not exist before (when saving it the first time). diff --git a/Gems/EMotionFX/Code/Tests/UI/CanUseFileMenu.cpp b/Gems/EMotionFX/Code/Tests/UI/CanUseFileMenu.cpp index 2af3329203..f61c4992a6 100644 --- a/Gems/EMotionFX/Code/Tests/UI/CanUseFileMenu.cpp +++ b/Gems/EMotionFX/Code/Tests/UI/CanUseFileMenu.cpp @@ -330,6 +330,10 @@ namespace EMotionFX const QString animGraphFilename = GenerateTempAnimGraphFilename(); SaveCurrentAnimGraph(animGraphFilename); + // Pretend editing the anim graph + EMotionFX::AnimGraph* animGraph = m_animGraphPlugin->GetActiveAnimGraph(); + animGraph->SetDirtyFlag(true); + // Prepare a watcher to press the ok button when the SaveDirtySettingsWindow appears. ModalPopupHandler saveDirtyPopupHandler;