Work around missing wait_for declaration

Certain older SDKs don't declare the specific wait_for overload but
still uses it. So, we declare it.

Also add the factorycacheregistration include to wipe out any factory
that may be created and cached in the TU.

Change-Id: I778ab1b8724306b17bb6a2daa0b7364f268ded83
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
This commit is contained in:
Mårten Nordheim 2022-12-06 12:47:21 +01:00
parent 9d9c25e214
commit a94dcc3125

View File

@ -62,6 +62,16 @@
#include "qwindowsopengltester.h"
#if QT_CONFIG(cpp_winrt)
#include <winrt/base.h>
#include <QtCore/private/qfactorycacheregistration_p.h>
// Workaround for Windows SDK bug.
// See https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/issues/47
namespace winrt::impl
{
template <typename Async>
auto wait_for(Async const& async, Windows::Foundation::TimeSpan const& timeout);
}
# include <winrt/Windows.UI.Notifications.h>
# include <winrt/Windows.Data.Xml.Dom.h>
# include <winrt/Windows.Foundation.h>