From 3ca1c3314d5849d4c1f8228fd542c6740dcbf377 Mon Sep 17 00:00:00 2001 From: OmniaX-Dev Date: Fri, 8 May 2026 00:53:00 +0200 Subject: [PATCH] Fixed pointer conversion bug --- src/ogfx/render/BasicRenderer.cpp | 2 +- src/ostd/string/String.cpp | 13 +++++++++++++ src/ostd/string/String.hpp | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/ogfx/render/BasicRenderer.cpp b/src/ogfx/render/BasicRenderer.cpp index 606e71b..c8b4290 100644 --- a/src/ogfx/render/BasicRenderer.cpp +++ b/src/ogfx/render/BasicRenderer.cpp @@ -248,7 +248,7 @@ namespace ogfx if (!font) font = m_font; auto l_buildCacheKey = [&](void) -> String { - return String("").add(message).add(fontSize).add(reinterpret_cast(font)); + return String("").add(message).add(fontSize).add(font); }; String cacheKey = l_buildCacheKey(); diff --git a/src/ostd/string/String.cpp b/src/ostd/string/String.cpp index 6bb07d4..2e0cf75 100644 --- a/src/ostd/string/String.cpp +++ b/src/ostd/string/String.cpp @@ -265,6 +265,13 @@ namespace ostd return add(s); } + String& String::add(const void* p, const String& prefix) + { + std::stringstream stream; + stream << prefix << std::hex << std::uppercase << reinterpret_cast(p); + return add(stream.str()); + } + //New String @@ -431,6 +438,12 @@ namespace ostd return __str.add(f, precision); } + String String::new_add(const void* p, const String& prefix) + { + String __str = m_data; + return __str.add(p, prefix); + } + //Utility diff --git a/src/ostd/string/String.hpp b/src/ostd/string/String.hpp index 22fa7b3..f427bb7 100644 --- a/src/ostd/string/String.hpp +++ b/src/ostd/string/String.hpp @@ -122,6 +122,7 @@ namespace ostd String& add(i64 i); String& add(f32 f, u8 precision = 0); String& add(f64 f, u8 precision = 0); + String& add(const void* p, const String& prefix = "0x"); //New String String new_ltrim(void) const; @@ -152,6 +153,7 @@ namespace ostd String new_add(i64 i) const; String new_add(f32 f, u8 precision = 0) const; String new_add(f64 f, u8 precision = 0) const; + String new_add(const void* p, const String& prefix = "0x"); //Utility i64 toInt(void) const;