From e02c1fab8acedf63ed400184bcabbfbc305809ae Mon Sep 17 00:00:00 2001 From: medievalshell <150498573+medievalshell@users.noreply.github.com> Date: Sun, 7 Jun 2026 23:00:06 +0200 Subject: [PATCH] fix(badge): group badge nero nell'HUD (race onload in LayoutBadgeImageView) --- src/common/layout/LayoutBadgeImageView.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/common/layout/LayoutBadgeImageView.tsx b/src/common/layout/LayoutBadgeImageView.tsx index 2486584..8b322c9 100644 --- a/src/common/layout/LayoutBadgeImageView.tsx +++ b/src/common/layout/LayoutBadgeImageView.tsx @@ -115,7 +115,11 @@ export const LayoutBadgeImageView: FC = props => { const element = await TextureUtils.generateImage(new NitroSprite(event.image)); - element.onload = () => setImageElement(element); + // The generated image carries an already-decoded data-URL, so + // `onload` may have fired before we attach it and never run. + // Set immediately when complete; otherwise wait for load. + if(element.complete && element.naturalWidth) setImageElement(element); + else element.onload = () => setImageElement(element); } else { @@ -143,7 +147,8 @@ export const LayoutBadgeImageView: FC = props => { const element = await TextureUtils.generateImage(new NitroSprite(texture)); - element.onload = () => setImageElement(element); + if(element.complete && element.naturalWidth) setImageElement(element); + else element.onload = () => setImageElement(element); })(); } else