From cf7b69c8f6d527ac9ed8e5d12e82945685b12021 Mon Sep 17 00:00:00 2001 From: codeimp Date: Thu, 2 Apr 2009 08:18:09 +0000 Subject: [PATCH] - Fixed crash on deleting things - Fixed crash on pressing ESC when no map is opened --- Source/BuilderModes/ClassicModes/ThingsMode.cs | 4 ++-- Source/Editing/EditingManager.cs | 6 ++++-- Source/Map/MapSet.cs | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Source/BuilderModes/ClassicModes/ThingsMode.cs b/Source/BuilderModes/ClassicModes/ThingsMode.cs index 4de9aef5..3f4e3f23 100644 --- a/Source/BuilderModes/ClassicModes/ThingsMode.cs +++ b/Source/BuilderModes/ClassicModes/ThingsMode.cs @@ -584,9 +584,9 @@ namespace CodeImp.DoomBuilder.BuilderModes public void DeleteItem() { // Make list of selected things - ICollection selected = General.Map.Map.GetSelectedThings(true); + List selected = new List(General.Map.Map.GetSelectedThings(true)); if((selected.Count == 0) && (highlighted != null) && !highlighted.IsDisposed) selected.Add(highlighted); - + // Anything to do? if(selected.Count > 0) { diff --git a/Source/Editing/EditingManager.cs b/Source/Editing/EditingManager.cs index 1832ca32..92028eec 100644 --- a/Source/Editing/EditingManager.cs +++ b/Source/Editing/EditingManager.cs @@ -386,7 +386,8 @@ namespace CodeImp.DoomBuilder.Editing public void CancelMode() { // Let the mode know - mode.OnCancel(); + if(mode != null) + mode.OnCancel(); } /// @@ -396,7 +397,8 @@ namespace CodeImp.DoomBuilder.Editing public void AcceptMode() { // Let the mode know - mode.OnAccept(); + if(mode != null) + mode.OnAccept(); } #endregion diff --git a/Source/Map/MapSet.cs b/Source/Map/MapSet.cs index a8813f37..80296577 100644 --- a/Source/Map/MapSet.cs +++ b/Source/Map/MapSet.cs @@ -1029,7 +1029,7 @@ namespace CodeImp.DoomBuilder.Map { if(selected) { - return sel_vertices; + return new List(sel_vertices); } else { @@ -1044,7 +1044,7 @@ namespace CodeImp.DoomBuilder.Map { if(selected) { - return sel_things; + return new List(sel_things); } else { @@ -1059,7 +1059,7 @@ namespace CodeImp.DoomBuilder.Map { if(selected) { - return sel_linedefs; + return new List(sel_linedefs); } else { @@ -1074,7 +1074,7 @@ namespace CodeImp.DoomBuilder.Map { if(selected) { - return sel_sectors; + return new List(sel_sectors); } else {