From e799d882a9ff2407ef443c0386d6c888a826b63a Mon Sep 17 00:00:00 2001 From: biwa <foracc@d00m.info> Date: Tue, 17 Sep 2019 20:22:51 +0200 Subject: [PATCH] Fixed a crash when manually modifying a sidedef's sector index to a sector with a tag --- .../Plugins/BuilderModes/ClassicModes/LinedefsMode.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs index b84346678..5606628ee 100755 --- a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs @@ -821,7 +821,10 @@ namespace CodeImp.DoomBuilder.BuilderModes if(General.Interface.IsActiveWindow) { // Show line edit dialog + General.Interface.OnEditFormValuesChanged += linedefEditForm_OnValuesChanged; DialogResult result = General.Interface.ShowEditLinedefs(selected); + General.Interface.OnEditFormValuesChanged -= linedefEditForm_OnValuesChanged; + General.Map.Map.Update(); // When a single line was selected, deselect it now @@ -835,6 +838,7 @@ namespace CodeImp.DoomBuilder.BuilderModes } // Update entire display + SetupSectorLabels(); General.Map.Renderer2D.UpdateExtraFloorFlag(); //mxd UpdateSelectionInfo(); //mxd General.Interface.RedrawDisplay(); @@ -847,6 +851,12 @@ namespace CodeImp.DoomBuilder.BuilderModes base.OnEditEnd(); } + private void linedefEditForm_OnValuesChanged(object sender, EventArgs e) + { + // This does nothing. It prevents automatic OnRedrawDisplay when closing the linedef edit form + // Required to prevent crash from issue #298 + } + //mxd public override void OnUndoEnd() { -- GitLab