From bb8e6ab03cb8fe19247b33bac2cc113820a176ed Mon Sep 17 00:00:00 2001 From: penev92 Date: Mon, 20 Feb 2023 14:21:11 +0200 Subject: [PATCH] Fix sprites with no frames crashing AssetBrowser --- OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs index 4fc79bb323..1650e12d8a 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs @@ -129,7 +129,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic var spriteWidget = panel.GetOrNull("SPRITE"); if (spriteWidget != null) { - spriteWidget.GetSprite = () => currentSprites?[currentFrame]; + spriteWidget.GetSprite = () => currentSprites?.Length > 0 ? currentSprites[currentFrame] : null; currentPalette = spriteWidget.Palette; spriteScale = spriteWidget.Scale; spriteWidget.GetPalette = () => currentPalette; @@ -508,7 +508,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic currentSprites = world.Map.Rules.Sequences.SpriteCache[prefix + filename]; currentFrame = 0; - if (frameSlider != null) + if (frameSlider != null && currentSprites?.Length > 0) { frameSlider.MaximumValue = (float)currentSprites.Length - 1; frameSlider.Ticks = currentSprites.Length;