diff --git a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs index b8434667..5606628e 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() {