diff --git a/Source/Plugins/BuilderModes/ClassicModes/BrightnessMode.cs b/Source/Plugins/BuilderModes/ClassicModes/BrightnessMode.cs index bd0166b5..0d682111 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/BrightnessMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/BrightnessMode.cs @@ -591,8 +591,15 @@ namespace CodeImp.DoomBuilder.BuilderModes // This is called wheh selection ends protected override void OnEndMultiSelection() { - if(BuilderPlug.Me.AutoClearSelection || - ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f))) + bool selectionvolume = ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f)); + + if(BuilderPlug.Me.AutoClearSelection && !selectionvolume) + { + General.Map.Map.ClearSelectedLinedefs(); + General.Map.Map.ClearSelectedSectors(); + } + + if(selectionvolume) { if(General.Interface.ShiftState ^ BuilderPlug.Me.AdditiveSelect) { diff --git a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs index b842c762..7839a440 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs @@ -453,8 +453,12 @@ namespace CodeImp.DoomBuilder.BuilderModes // This is called wheh selection ends protected override void OnEndMultiSelection() { - if(BuilderPlug.Me.AutoClearSelection || - ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f))) + bool selectionvolume = ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f)); + + if(BuilderPlug.Me.AutoClearSelection && !selectionvolume) + General.Map.Map.ClearSelectedLinedefs(); + + if(selectionvolume) { if(General.Interface.ShiftState ^ BuilderPlug.Me.AdditiveSelect) { diff --git a/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs index e70eeda8..573e65dc 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/SectorsMode.cs @@ -714,8 +714,15 @@ namespace CodeImp.DoomBuilder.BuilderModes // This is called wheh selection ends protected override void OnEndMultiSelection() { - if(BuilderPlug.Me.AutoClearSelection || - ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f))) + bool selectionvolume = ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f)); + + if(BuilderPlug.Me.AutoClearSelection && !selectionvolume) + { + General.Map.Map.ClearSelectedLinedefs(); + General.Map.Map.ClearSelectedSectors(); + } + + if(selectionvolume) { if(General.Interface.ShiftState ^ BuilderPlug.Me.AdditiveSelect) { diff --git a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs index 905f4288..03018bdf 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs @@ -440,8 +440,12 @@ namespace CodeImp.DoomBuilder.BuilderModes // This is called wheh selection ends protected override void OnEndMultiSelection() { - if(BuilderPlug.Me.AutoClearSelection || - ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f))) + bool selectionvolume = ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f)); + + if(BuilderPlug.Me.AutoClearSelection && !selectionvolume) + General.Map.Map.ClearSelectedThings(); + + if(selectionvolume) { if(General.Interface.ShiftState ^ BuilderPlug.Me.AdditiveSelect) { diff --git a/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs b/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs index ba9ad6fb..55ae8294 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs @@ -407,8 +407,12 @@ namespace CodeImp.DoomBuilder.BuilderModes // This is called wheh selection ends protected override void OnEndMultiSelection() { - if(BuilderPlug.Me.AutoClearSelection || - ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f))) + bool selectionvolume = ((Math.Abs(base.selectionrect.Width) > 0.1f) && (Math.Abs(base.selectionrect.Height) > 0.1f)); + + if(BuilderPlug.Me.AutoClearSelection && !selectionvolume) + General.Map.Map.ClearSelectedVertices(); + + if(selectionvolume) { if(General.Interface.ShiftState ^ BuilderPlug.Me.AdditiveSelect) {