diff --git a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryImpl.cpp b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryImpl.cpp index dbd8df4df1..3dd4931374 100644 --- a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryImpl.cpp +++ b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryImpl.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -1061,15 +1062,23 @@ namespace AZ jsonPatch.ParseInsitu(scratchBuffer.data()); if (jsonPatch.HasParseError()) { + auto nativeUI = AZ::Interface::Get(); if (jsonPatch.GetParseError() == rapidjson::kParseErrorDocumentEmpty) { - AZ_Warning("Settings Registry", false, R"(Unable to parse registry file "%s" due to json error "%s" at offset %llu.)", + AZ_Warning("Settings Registry", false, R"(Unable to parse registry file "%s" due to json error "%s" at offset %zu.)", path, GetParseError_En(jsonPatch.GetParseError()), jsonPatch.GetErrorOffset()); } else { - AZ_Error("Settings Registry", false, R"(Unable to parse registry file "%s" due to json error "%s" at offset %llu.)", path, + using ErrorString = AZStd::fixed_string<4096>; + auto jsonError = ErrorString::format(R"(Unable to parse registry file "%s" due to json error "%s" at offset %zu.)", path, GetParseError_En(jsonPatch.GetParseError()), jsonPatch.GetErrorOffset()); + AZ_Error("Settings Registry", false, "%s", jsonError.c_str()); + + if (nativeUI) + { + nativeUI->DisplayOkDialog("Setreg(Patch) Merge Issue", AZStd::string_view(jsonError), false); + } } pointer.Create(m_settings, m_settings.GetAllocator()).SetObject()