From f693959df42e1adbfe3c8f9b056d1e602a7a9543 Mon Sep 17 00:00:00 2001 From: Derek MacDonald <derekmd@hotmail.com> Date: Tue, 6 Apr 2021 14:38:48 -0400 Subject: [PATCH] Unchanged script editor skips implicit save (#543) Stop calling ScriptFileDocumentTab.RemoveTrailingWhitespace() on a text editor that has unchanged text. This causes the currently-opened map to be marked 'isChanged == true' when nothing is modified. --- Source/Core/Controls/Scripting/ScriptLumpDocumentTab.cs | 3 +++ Source/Core/Controls/Scripting/ScriptResourceDocumentTab.cs | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/Core/Controls/Scripting/ScriptLumpDocumentTab.cs b/Source/Core/Controls/Scripting/ScriptLumpDocumentTab.cs index 3c5d5636b..6cfacf37b 100755 --- a/Source/Core/Controls/Scripting/ScriptLumpDocumentTab.cs +++ b/Source/Core/Controls/Scripting/ScriptLumpDocumentTab.cs @@ -73,6 +73,7 @@ namespace CodeImp.DoomBuilder.Controls { editor.SetText(stream.ToArray()); //mxd editor.ClearUndoRedo(); + editor.SetSavePoint(); } // Set title @@ -108,6 +109,8 @@ namespace CodeImp.DoomBuilder.Controls // Implicit save public override bool Save() { + if (!editor.IsChanged) return false; + // [ZZ] remove trailing whitespace RemoveTrailingWhitespace(); diff --git a/Source/Core/Controls/Scripting/ScriptResourceDocumentTab.cs b/Source/Core/Controls/Scripting/ScriptResourceDocumentTab.cs index 7166e949d..33328430e 100755 --- a/Source/Core/Controls/Scripting/ScriptResourceDocumentTab.cs +++ b/Source/Core/Controls/Scripting/ScriptResourceDocumentTab.cs @@ -48,6 +48,7 @@ namespace CodeImp.DoomBuilder.Controls editor.SetText(stream.ToArray()); editor.Scintilla.ReadOnly = source.IsReadOnly; editor.ClearUndoRedo(); + editor.SetSavePoint(); } else { @@ -92,7 +93,7 @@ namespace CodeImp.DoomBuilder.Controls // Return true when successfully saved public override bool Save() { - if(source.IsReadOnly) return false; + if(source.IsReadOnly || !editor.IsChanged) return false; // [ZZ] remove trailing whitespace RemoveTrailingWhitespace(); -- GitLab