diff --git a/OpenRA.Mods.RA/Widgets/Logic/ClientTooltipLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ClientTooltipLogic.cs index 8aee073cc5..5cfdb77394 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/ClientTooltipLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/ClientTooltipLogic.cs @@ -70,8 +70,10 @@ namespace OpenRA.Mods.RA.Widgets.Logic var ipAddress = orderManager.LobbyInfo.ClientWithIndex(clientIndex).IpAddress; if ((ipAddress == null || ipAddress == "127.0.0.1") && UPnP.NatDevice != null) ipAddress = UPnP.NatDevice.GetExternalIP().ToString(); - ip.GetText = () => LobbyUtils.DescriptiveIpAddress(ipAddress); - location.GetText = () => LobbyUtils.LookupCountry(ipAddress); + var cachedDescriptiveIP = LobbyUtils.DescriptiveIpAddress(ipAddress); + ip.GetText = () => cachedDescriptiveIP; + var cachedCountryLookup = LobbyUtils.LookupCountry(ipAddress); + location.GetText = () => cachedCountryLookup; } } } diff --git a/OpenRA.Mods.RA/Widgets/Logic/ServerBrowserLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ServerBrowserLogic.cs index 10347bd838..dfc43f105d 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/ServerBrowserLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/ServerBrowserLogic.cs @@ -239,7 +239,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic version.IsVisible = () => !game.CompatibleVersion(); var location = item.Get("LOCATION"); - location.GetText = () => LobbyUtils.LookupCountry(game.Address.Split(':')[0]); + var cachedServerLocation = LobbyUtils.LookupCountry(game.Address.Split(':')[0]); + location.GetText = () => cachedServerLocation; location.IsVisible = () => game.CompatibleVersion(); if (!canJoin)