diff --git a/OpenRA.Game/Map/MapCache.cs b/OpenRA.Game/Map/MapCache.cs index 8d521830a8..907d0daf7c 100644 --- a/OpenRA.Game/Map/MapCache.cs +++ b/OpenRA.Game/Map/MapCache.cs @@ -150,9 +150,10 @@ namespace OpenRA foreach (var kv in yaml) maps[kv.Key].UpdateRemoteSearch(MapStatus.DownloadAvailable, kv.Value, mapDetailsReceived); } - catch + catch (Exception e) { Log.Write("debug", "Can't parse remote map search data:\n{0}", data); + Log.Write("debug", "Exception: {0}", e); if (queryFailed != null) queryFailed(); } diff --git a/OpenRA.Game/Map/MapPreview.cs b/OpenRA.Game/Map/MapPreview.cs index 2a8d46bb2e..6e1659f294 100644 --- a/OpenRA.Game/Map/MapPreview.cs +++ b/OpenRA.Game/Map/MapPreview.cs @@ -367,7 +367,15 @@ namespace OpenRA spawns[j / 2] = new CPos(r.spawnpoints[j], r.spawnpoints[j + 1]); newData.SpawnPoints = spawns; newData.GridType = r.map_grid_type; - newData.Preview = new Bitmap(new MemoryStream(Convert.FromBase64String(r.minimap))); + try + { + newData.Preview = new Bitmap(new MemoryStream(Convert.FromBase64String(r.minimap))); + } + catch (Exception e) + { + Log.Write("debug", "Failed parsing mapserver minimap response: {0}", e); + newData.Preview = null; + } var playersString = Encoding.UTF8.GetString(Convert.FromBase64String(r.players_block)); newData.Players = new MapPlayers(MiniYaml.FromString(playersString)); @@ -389,7 +397,10 @@ namespace OpenRA return Pair.New(rules, flagged); }); } - catch (Exception) { } + catch (Exception e) + { + Log.Write("debug", "Failed parsing mapserver response: {0}", e); + } // Commit updated data before running the callbacks innerData = newData;