From fe813550396cc5d2806523011a95fbc723240bb9 Mon Sep 17 00:00:00 2001 From: Regalis Date: Sat, 3 Jun 2017 16:32:44 +0300 Subject: [PATCH] Fixed crashing if attempting to send radio messages without a radio in the inventory (Undertow Games - first-rate QA since 2014) --- Subsurface/Source/Networking/GameServer.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Subsurface/Source/Networking/GameServer.cs b/Subsurface/Source/Networking/GameServer.cs index d51503625..46dc35c43 100644 --- a/Subsurface/Source/Networking/GameServer.cs +++ b/Subsurface/Source/Networking/GameServer.cs @@ -1613,7 +1613,7 @@ namespace Barotrauma.Networking if (senderCharacter == null) return; //return if senderCharacter doesn't have a working radio - var radio = senderCharacter.Inventory.Items.First(i => i != null && i.GetComponent() != null); + var radio = senderCharacter.Inventory.Items.FirstOrDefault(i => i != null && i.GetComponent() != null); if (radio == null) return; senderRadio = radio.GetComponent(); @@ -1699,11 +1699,11 @@ namespace Barotrauma.Networking case ChatMessageType.Radio: if (!receiver.IsDead) { - var receiverItem = receiver.Inventory.Items.First(i => i != null && i.GetComponent() != null); + var receiverItem = receiver.Inventory.Items.FirstOrDefault(i => i?.GetComponent() != null); //client doesn't have a radio -> don't send if (receiverItem == null) return ""; - var senderItem = sender.Inventory.Items.First(i => i != null && i.GetComponent() != null); + var senderItem = sender.Inventory.Items.FirstOrDefault(i => i?.GetComponent() != null); if (senderItem == null) return ""; var receiverRadio = receiverItem.GetComponent();