From cf516fd0e69859462efe88f3d273fea29e3891df Mon Sep 17 00:00:00 2001
From: sphere <spherallic@gmail.com>
Date: Mon, 15 Nov 2021 20:32:58 +0100
Subject: [PATCH] Fixes to non-essential vertex/line detection.

---
 Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs | 4 ++--
 Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs
index db2130e8..03dcbc2b 100644
--- a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs
+++ b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs
@@ -1207,8 +1207,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
 			int counter = 0;
 			ICollection<Linedef> selected = General.Map.Map.GetSelectedLinedefs(true);
 			foreach (Linedef ld in selected)
-			{ 
-				if (ld.Back != null && ld.Front.Sector == ld.Back.Sector)
+			{
+				if (ld.Back != null && ld.Front.Sector == ld.Back.Sector && ld.Action != 0)
 					counter++;
 				else
 					ld.Selected = false;
diff --git a/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs b/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs
index 073ee4d6..253cd003 100644
--- a/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs
+++ b/Source/Plugins/BuilderModes/ClassicModes/VerticesMode.cs
@@ -998,8 +998,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
 					Linedef ld2 = General.GetByIndex(v.Linedefs, 1);
 					int angle1 = (int)Math.Round(ld1.Angle * Angle2D.PIDEG);
 					int angle2 = (int)Math.Round(ld2.Angle * Angle2D.PIDEG);
-					if (ld1.Action == 0 && ld2.Action == 0 && 
-						(angle1 == angle2 || angle1 == angle2 + 180 || angle1 + 180 == angle2))
+					if ((angle1 == angle2 || angle1 == angle2 + 180 || angle1 + 180 == angle2) && 
+						((ld1.Action == 0 && ld2.Action == 0) || (ld1.GetFlags() == ld2.GetFlags() && ld1.Action == ld2.Action)))
 						counter++;
 					else
 						v.Selected = false;
-- 
GitLab