diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index f63a73c26de766b2ea9ccca1bbbc471fa2955be6..f8ead4bea58f15d08ea295af39b1f24822a6efe2 100755 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -3139,7 +3139,12 @@ namespace CodeImp.DoomBuilder.BuilderModes { PreAction(UndoGroup.None); List<IVisualEventReceiver> objs = GetSelectedObjects(true, true, true, true); - foreach(IVisualEventReceiver i in objs) i.OnDelete(); + foreach (IVisualEventReceiver i in objs) + { + if (i is BaseVisualThing) + visiblethings.Remove(((BaseVisualThing)i).Thing); // [ZZ] if any + i.OnDelete(); + } PostAction(); ClearSelection(); @@ -3178,7 +3183,8 @@ namespace CodeImp.DoomBuilder.BuilderModes foreach(IVisualEventReceiver i in objs) { BaseVisualThing thing = (BaseVisualThing)i; - thing.Thing.Fields.BeforeFieldsChange(); + visiblethings.Remove(thing.Thing); // [ZZ] if any + thing.Thing.Fields.BeforeFieldsChange(); thing.Thing.Dispose(); thing.Dispose(); }