--- a/ui/winui/toolkit.cpp Tue Oct 17 21:50:48 2023 +0200 +++ b/ui/winui/toolkit.cpp Thu Oct 19 18:30:19 2023 +0200 @@ -180,6 +180,7 @@ } void ui_main() { + /* init_apartment(); //Application::Start([](auto&&) {make<App>(); }); @@ -188,6 +189,28 @@ { ::winrt::make<::winrt::winui::implementation::App>(); }); + */ + { + void (WINAPI * pfnXamlCheckProcessRequirements)(); + auto module = ::LoadLibrary(L"Microsoft.ui.xaml.dll"); + if (module) + { + pfnXamlCheckProcessRequirements = reinterpret_cast<decltype(pfnXamlCheckProcessRequirements)>(GetProcAddress(module, "XamlCheckProcessRequirements")); + if (pfnXamlCheckProcessRequirements) + { + (*pfnXamlCheckProcessRequirements)(); + } + + ::FreeLibrary(module); + } + } + + winrt::init_apartment(winrt::apartment_type::single_threaded); + ::winrt::Microsoft::UI::Xaml::Application::Start( + [](auto&&) + { + ::winrt::make<::winrt::winui::implementation::App>(); + }); } class UiWin {