From 76dc4574ab35452fa499f991fccbc62a405d18a6 Mon Sep 17 00:00:00 2001
From: MaxED <j.maxed@gmail.com>
Date: Tue, 20 Aug 2013 08:21:20 +0000
Subject: [PATCH] Linedef and Thing arguments are new set to 0 when converting
 a map to Doom map format. Fixed a crash when executing "Toggle Geometry
 Effects" (Tab).

---
 Source/Core/General/MapManager.cs                         | 5 +++++
 Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs | 6 ++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/Source/Core/General/MapManager.cs b/Source/Core/General/MapManager.cs
index d8765d7e0..fce052c02 100644
--- a/Source/Core/General/MapManager.cs
+++ b/Source/Core/General/MapManager.cs
@@ -1712,6 +1712,11 @@ namespace CodeImp.DoomBuilder {
 				} else if(oldFormatInterface != "UniversalMapSetIO" && config.FormatInterface == "UniversalMapSetIO") {
 					foreach(Linedef l in General.Map.Map.Linedefs) l.TranslateToUDMF();
 					foreach(Thing t in General.Map.Map.Things) t.TranslateToUDMF();
+				} else if(oldFormatInterface != "DoomMapSetIO" && config.FormatInterface == "DoomMapSetIO") { //drop all arguments
+					foreach (Linedef l in General.Map.Map.Linedefs) 
+						for(int i = 0; i < l.Args.Length; i++) l.Args[i] = 0;
+					foreach (Thing t in General.Map.Map.Things) 
+						for(int i = 0; i < t.Args.Length; i++) t.Args[i] = 0;
 				}
 				General.Map.Map.UpdateCustomLinedefColors();
 
diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs
index db15b9b60..98774770f 100644
--- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs
+++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs
@@ -709,8 +709,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
             if (!gzdoomRenderingEffects) {
 				if(sectordata != null && sectordata.Count > 0) {
 					//rebuild sectors with effects
-					foreach(KeyValuePair<Sector, SectorData> group in sectordata)
-						group.Value.Reset();
+					foreach (KeyValuePair<Sector, SectorData> group in sectordata) {
+						SectorData sd = group.Value;
+						sd.Reset();
+					}
 				}
 
 				//remove all vertex handles from selection
-- 
GitLab