Fix ed2923ba by backporting HRESULT change from de7f9312

This commit is contained in:
Dustin L. Howett
2024-05-06 16:24:46 -05:00
parent 42bc7f20a9
commit e349130d4e
3 changed files with 8 additions and 7 deletions

View File

@@ -120,12 +120,12 @@ namespace winrt::Microsoft::Terminal::Control::implementation
struct RendererWarningArgs : public RendererWarningArgsT<RendererWarningArgs>
{
public:
RendererWarningArgs(const uint64_t hr) :
RendererWarningArgs(const HRESULT hr) :
_Result(hr)
{
}
WINRT_PROPERTY(uint64_t, Result);
WINRT_PROPERTY(HRESULT, Result);
};
struct TransparencyChangedEventArgs : public TransparencyChangedEventArgsT<TransparencyChangedEventArgs>

View File

@@ -63,7 +63,7 @@ namespace Microsoft.Terminal.Control
runtimeclass RendererWarningArgs
{
UInt64 Result { get; };
HRESULT Result { get; };
}
runtimeclass TransparencyChangedEventArgs

View File

@@ -995,9 +995,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
winrt::fire_and_forget TermControl::_RendererWarning(IInspectable /*sender*/,
Control::RendererWarningArgs args)
{
// HRESULT is a signed 32-bit integer which would result in a hex output like "-0x7766FFF4",
// but canonically HRESULTs are displayed unsigned as "0x8899000C". See GH#11556.
const auto hr = std::bit_cast<uint32_t>(args.Result());
const auto hr = args.Result();
auto weakThis{ get_weak() };
co_await wil::resume_foreground(Dispatcher());
@@ -1017,8 +1015,11 @@ namespace winrt::Microsoft::Terminal::Control::implementation
}
else
{
// HRESULT is a signed 32-bit integer which would result in a hex output like "-0x7766FFF4",
// but canonically HRESULTs are displayed unsigned as "0x8899000C". See GH#11556.
const auto displayHr = std::bit_cast<uint32_t>(hr);
message = winrt::hstring{ fmt::format(std::wstring_view{ RS_(L"UnexpectedRendererError") },
hr) };
displayHr) };
}
auto noticeArgs = winrt::make<NoticeEventArgs>(NoticeLevel::Warning, std::move(message));