From 9c819b57054f49e6cf24c7baaa431a6dcd54b7dd Mon Sep 17 00:00:00 2001
From: Evil Eye <malusluminis@hotmail.com>
Date: Tue, 30 May 2023 17:35:26 +0200
Subject: [PATCH] Disallow formatting of UString

---
 apps/openmw/mwmechanics/npcstats.cpp | 4 ++--
 components/misc/strings/format.hpp   | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/apps/openmw/mwmechanics/npcstats.cpp b/apps/openmw/mwmechanics/npcstats.cpp
index f92d4dad78..dd21a85305 100644
--- a/apps/openmw/mwmechanics/npcstats.cpp
+++ b/apps/openmw/mwmechanics/npcstats.cpp
@@ -261,8 +261,8 @@ void MWMechanics::NpcStats::increaseSkill(
     MWBase::Environment::get().getWindowManager()->playSound(ESM::RefId::stringRefId("skillraise"));
 
     std::string message{ MWBase::Environment::get().getWindowManager()->getGameSettingString("sNotifyMessage39", {}) };
-    message
-        = Misc::StringUtils::format(message, MyGUI::TextIterator::toTagsString(skill->mName), static_cast<int>(base));
+    message = Misc::StringUtils::format(
+        message, MyGUI::TextIterator::toTagsString(skill->mName).asUTF8(), static_cast<int>(base));
 
     if (readBook)
         message = "#{sBookSkillMessage}\n" + message;
diff --git a/components/misc/strings/format.hpp b/components/misc/strings/format.hpp
index b542b7291f..21ddf26622 100644
--- a/components/misc/strings/format.hpp
+++ b/components/misc/strings/format.hpp
@@ -1,6 +1,7 @@
 #ifndef COMPONENTS_MISC_STRINGS_FORMAT_H
 #define COMPONENTS_MISC_STRINGS_FORMAT_H
 
+#include <MyGUI_UString.h>
 #include <cerrno>
 #include <cstdio>
 #include <cstring>
@@ -19,6 +20,7 @@ namespace Misc::StringUtils
         T argument(T value) noexcept
         {
             static_assert(!std::is_same_v<T, std::string_view>, "std::string_view is not supported");
+            static_assert(!std::is_same_v<T, MyGUI::UString>, "MyGUI::UString is not supported");
             return value;
         }