From 470283e22b337411c7a721dcee2130a66fe4b0fa Mon Sep 17 00:00:00 2001 From: Keyinator Date: Sun, 28 Jul 2024 10:55:14 +0000 Subject: [PATCH] fix(clcore): Adjust "==" and "!=" operators to fix null reference exceptions --- code/client/clrcore/External/Game.cs | 4 ++-- code/client/clrcore/External/Model.cs | 4 ++-- code/client/clrcore/External/RelationshipGroup.cs | 2 +- code/client/clrcore/External/WeaponAsset.cs | 4 ++-- code/client/clrcore/Math/Matrix.cs | 4 ++-- code/client/clrcore/Math/Matrix3x3.cs | 4 ++-- code/client/clrcore/Math/Quaternion.cs | 4 ++-- code/client/clrcore/Math/Vector2.cs | 4 ++-- code/client/clrcore/Math/Vector3.cs | 4 ++-- code/client/clrcore/Math/Vector4.cs | 4 ++-- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/code/client/clrcore/External/Game.cs b/code/client/clrcore/External/Game.cs index a446d62b24..529789a405 100644 --- a/code/client/clrcore/External/Game.cs +++ b/code/client/clrcore/External/Game.cs @@ -1025,7 +1025,7 @@ public override int GetHashCode() public static bool operator ==(WeaponHudStats left, WeaponHudStats right) { - return left.Equals(right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(right); } public static bool operator !=(WeaponHudStats left, WeaponHudStats right) @@ -1101,7 +1101,7 @@ public override int GetHashCode() public static bool operator ==(WeaponComponentHudStats left, WeaponComponentHudStats right) { - return left.Equals(right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(right); } public static bool operator !=(WeaponComponentHudStats left, WeaponComponentHudStats right) diff --git a/code/client/clrcore/External/Model.cs b/code/client/clrcore/External/Model.cs index 257d8a3a83..6a542385ce 100644 --- a/code/client/clrcore/External/Model.cs +++ b/code/client/clrcore/External/Model.cs @@ -429,11 +429,11 @@ public static implicit operator WeaponHash(Model source) public static bool operator ==(Model left, Model right) { - return left.Equals(right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(right); } public static bool operator !=(Model left, Model right) { - return !left.Equals(right); + return !(left==right); } } } diff --git a/code/client/clrcore/External/RelationshipGroup.cs b/code/client/clrcore/External/RelationshipGroup.cs index 9429c1a633..95881479a3 100644 --- a/code/client/clrcore/External/RelationshipGroup.cs +++ b/code/client/clrcore/External/RelationshipGroup.cs @@ -109,7 +109,7 @@ public static implicit operator RelationshipGroup(string source) public static bool operator ==(RelationshipGroup left, RelationshipGroup right) { - return left.Equals(right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(right); } public static bool operator !=(RelationshipGroup left, RelationshipGroup right) { diff --git a/code/client/clrcore/External/WeaponAsset.cs b/code/client/clrcore/External/WeaponAsset.cs index d4260f6b50..b44931704e 100644 --- a/code/client/clrcore/External/WeaponAsset.cs +++ b/code/client/clrcore/External/WeaponAsset.cs @@ -125,11 +125,11 @@ public static implicit operator WeaponAsset(WeaponHash hash) public static bool operator ==(WeaponAsset left, WeaponAsset right) { - return left.Equals(right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(right); } public static bool operator !=(WeaponAsset left, WeaponAsset right) { - return !left.Equals(right); + return !(left==right); } } } diff --git a/code/client/clrcore/Math/Matrix.cs b/code/client/clrcore/Math/Matrix.cs index 603aaac49e..d9a5aacf80 100644 --- a/code/client/clrcore/Math/Matrix.cs +++ b/code/client/clrcore/Math/Matrix.cs @@ -3091,7 +3091,7 @@ public static Matrix Transformation2D(Vector2 scalingCenter, float scalingRotati /// true if has the same value as ; otherwise, false. public static bool operator ==(Matrix left, Matrix right) { - return left.Equals(ref right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(ref right); } /// @@ -3102,7 +3102,7 @@ public static Matrix Transformation2D(Vector2 scalingCenter, float scalingRotati /// true if has a different value than ; otherwise, false. public static bool operator !=(Matrix left, Matrix right) { - return !left.Equals(ref right); + return !(left==right); } /// diff --git a/code/client/clrcore/Math/Matrix3x3.cs b/code/client/clrcore/Math/Matrix3x3.cs index 340693dd98..5af90d257b 100644 --- a/code/client/clrcore/Math/Matrix3x3.cs +++ b/code/client/clrcore/Math/Matrix3x3.cs @@ -1951,7 +1951,7 @@ public static Matrix3x3 RotationYawPitchRoll(float yaw, float pitch, float roll) /// true if has the same value as ; otherwise, false. public static bool operator ==(Matrix3x3 left, Matrix3x3 right) { - return left.Equals(ref right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(ref right); } /// @@ -1962,7 +1962,7 @@ public static Matrix3x3 RotationYawPitchRoll(float yaw, float pitch, float roll) /// true if has a different value than ; otherwise, false. public static bool operator !=(Matrix3x3 left, Matrix3x3 right) { - return !left.Equals(ref right); + return !(left==right); } /// diff --git a/code/client/clrcore/Math/Quaternion.cs b/code/client/clrcore/Math/Quaternion.cs index af81da3512..f75fae3ead 100644 --- a/code/client/clrcore/Math/Quaternion.cs +++ b/code/client/clrcore/Math/Quaternion.cs @@ -1294,7 +1294,7 @@ public static Quaternion[] SquadSetup(Quaternion value1, Quaternion value2, Quat /// true if has the same value as ; otherwise, false. public static bool operator ==(Quaternion left, Quaternion right) { - return left.Equals(ref right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(ref right); } /// @@ -1305,7 +1305,7 @@ public static Quaternion[] SquadSetup(Quaternion value1, Quaternion value2, Quat /// true if has a different value than ; otherwise, false. public static bool operator !=(Quaternion left, Quaternion right) { - return !left.Equals(ref right); + return !(left==right); } /// diff --git a/code/client/clrcore/Math/Vector2.cs b/code/client/clrcore/Math/Vector2.cs index 07be98e938..7e32adb06e 100644 --- a/code/client/clrcore/Math/Vector2.cs +++ b/code/client/clrcore/Math/Vector2.cs @@ -1384,7 +1384,7 @@ public static void TransformNormal(Vector2[] source, ref Matrix transform, Vecto /// true if has the same value as ; otherwise, false. public static bool operator ==(Vector2 left, Vector2 right) { - return left.Equals(ref right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(ref right); } /// @@ -1395,7 +1395,7 @@ public static void TransformNormal(Vector2[] source, ref Matrix transform, Vecto /// true if has a different value than ; otherwise, false. public static bool operator !=(Vector2 left, Vector2 right) { - return !left.Equals(ref right); + return !(left==right); } /// diff --git a/code/client/clrcore/Math/Vector3.cs b/code/client/clrcore/Math/Vector3.cs index 2195bac587..7b437aaa88 100644 --- a/code/client/clrcore/Math/Vector3.cs +++ b/code/client/clrcore/Math/Vector3.cs @@ -1652,7 +1652,7 @@ public static void TransformNormal(Vector3[] source, ref Matrix transform, Vecto /// true if has the same value as ; otherwise, false. public static bool operator ==(Vector3 left, Vector3 right) { - return left.Equals(ref right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(ref right); } /// @@ -1663,7 +1663,7 @@ public static void TransformNormal(Vector3[] source, ref Matrix transform, Vecto /// true if has a different value than ; otherwise, false. public static bool operator !=(Vector3 left, Vector3 right) { - return !left.Equals(ref right); + return !(left==right); } /// diff --git a/code/client/clrcore/Math/Vector4.cs b/code/client/clrcore/Math/Vector4.cs index 2021b04dd0..0ddd35795b 100644 --- a/code/client/clrcore/Math/Vector4.cs +++ b/code/client/clrcore/Math/Vector4.cs @@ -1292,7 +1292,7 @@ public static void Transform(Vector4[] source, ref Matrix transform, Vector4[] d /// true if has the same value as ; otherwise, false. public static bool operator ==(Vector4 left, Vector4 right) { - return left.Equals(ref right); + return ReferenceEquals(left, null) ? ReferenceEquals(right, null) : left.Equals(ref right); } /// @@ -1303,7 +1303,7 @@ public static void Transform(Vector4[] source, ref Matrix transform, Vector4[] d /// true if has a different value than ; otherwise, false. public static bool operator !=(Vector4 left, Vector4 right) { - return !left.Equals(ref right); + return !(left==right); } ///