From f197156ee6231103d3fb3b1d64079ca5195ee238 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 1 Nov 2016 19:13:06 +0100 Subject: [PATCH] When an edit happens in the python shell, remove any line-number marker --- renderdocui/Windows/Dialogs/PythonShell.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/renderdocui/Windows/Dialogs/PythonShell.cs b/renderdocui/Windows/Dialogs/PythonShell.cs index 4bdec3354..44a2f752c 100644 --- a/renderdocui/Windows/Dialogs/PythonShell.cs +++ b/renderdocui/Windows/Dialogs/PythonShell.cs @@ -59,6 +59,7 @@ namespace renderdocui.Windows.Dialogs ((System.ComponentModel.ISupportInitialize)(scriptEditor)).EndInit(); scriptEditor.KeyDown += new KeyEventHandler(scriptEditor_KeyDown); + scriptEditor.TextChanged += new EventHandler(scriptEditor_TextChanged); newScript.PerformClick(); @@ -80,6 +81,11 @@ namespace renderdocui.Windows.Dialogs EnableButtons(true); } + void scriptEditor_TextChanged(object sender, EventArgs e) + { + SetLineNumber(-1); + } + void scriptEditor_KeyDown(object sender, KeyEventArgs e) { if (e.Control) @@ -340,9 +346,16 @@ namespace renderdocui.Windows.Dialogs })); } } + + bool recurse = false; private void SetLineNumber(int lineNum) { + if (recurse || me == null || me.scriptEditor == null) + return; + + recurse = true; + for (int i = 0; i < me.scriptEditor.Lines.Count; i++) { me.scriptEditor.Lines[i].DeleteMarker(0); @@ -352,6 +365,8 @@ namespace renderdocui.Windows.Dialogs { me.scriptEditor.Lines[lineNum].AddMarker(0); } + + recurse = false; } private void EnableButtons(bool enable)