From a9364386d8a63bcb1a938ef377d83d0d6c8f1f5c Mon Sep 17 00:00:00 2001 From: fallenoak Date: Mon, 1 Dec 2025 16:36:08 -0600 Subject: [PATCH] fix(ui): avoid potential null pointer issue in CSimpleButton::SetFontString --- src/ui/CSimpleButton.cpp | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/src/ui/CSimpleButton.cpp b/src/ui/CSimpleButton.cpp index 878ebad..777afd6 100644 --- a/src/ui/CSimpleButton.cpp +++ b/src/ui/CSimpleButton.cpp @@ -491,28 +491,21 @@ void CSimpleButton::SetFontString(CSimpleFontString* text) { if (text) { text->SetFrame(this, DRAWLAYER_ARTWORK, 1); - } - if (!text->Sub482AC0()) { - auto font = this->m_normalFont; + if (!text->Sub482AC0()) { + auto font = this->m_normalFont; + uint32_t styleFlags = font ? font->m_attributes.m_styleFlags : 0x0; - int32_t styleFlags; + float offsetX = 0.0f; + float offsetY = 0.0f; - if (font) { - styleFlags = font->m_attributes.m_styleFlags; - } else { - styleFlags = 0; - } - - float offsetX = 0.0f; - float offsetY = 0.0f; - - if (styleFlags & 0x1) { - text->SetPoint(FRAMEPOINT_LEFT, this, FRAMEPOINT_LEFT, offsetX, offsetY, 1); - } else if (styleFlags & 0x4) { - text->SetPoint(FRAMEPOINT_RIGHT, this, FRAMEPOINT_RIGHT, offsetX, offsetY, 1); - } else { - text->SetPoint(FRAMEPOINT_CENTER, this, FRAMEPOINT_CENTER, offsetX, offsetY, 1); + if (styleFlags & 0x1) { + text->SetPoint(FRAMEPOINT_LEFT, this, FRAMEPOINT_LEFT, offsetX, offsetY, 1); + } else if (styleFlags & 0x4) { + text->SetPoint(FRAMEPOINT_RIGHT, this, FRAMEPOINT_RIGHT, offsetX, offsetY, 1); + } else { + text->SetPoint(FRAMEPOINT_CENTER, this, FRAMEPOINT_CENTER, offsetX, offsetY, 1); + } } }