diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 1f6e01541fa..e4461e3d7c5 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -1031,6 +1031,7 @@ qt_internal_extend_target(Core CONDITION WIN32 SOURCES platform/windows/qfactorycacheregistration_p.h platform/windows/qfactorycacheregistration.cpp + platform/windows/qt_winrtbase_p.h ) qt_internal_extend_target(Core CONDITION HAIKU AND NOT ANDROID diff --git a/src/corelib/platform/windows/qfactorycacheregistration_p.h b/src/corelib/platform/windows/qfactorycacheregistration_p.h index 6a80ce63faa..d0b19b995b4 100644 --- a/src/corelib/platform/windows/qfactorycacheregistration_p.h +++ b/src/corelib/platform/windows/qfactorycacheregistration_p.h @@ -23,7 +23,7 @@ #ifdef QT_USE_FACTORY_CACHE_REGISTRATION -#include +#include "qt_winrtbase_p.h" QT_BEGIN_NAMESPACE diff --git a/src/corelib/platform/windows/qt_winrtbase_p.h b/src/corelib/platform/windows/qt_winrtbase_p.h new file mode 100644 index 00000000000..36551b7faf1 --- /dev/null +++ b/src/corelib/platform/windows/qt_winrtbase_p.h @@ -0,0 +1,32 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#ifndef QT_WINRTBASE_P_H +#define QT_WINRTBASE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#if QT_CONFIG(cpp_winrt) +#include +#include +// Workaround for Windows SDK bug. +// See https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/issues/47 +namespace winrt::impl +{ + template + auto wait_for(Async const& async, Windows::Foundation::TimeSpan const& timeout); +} +#endif // QT_CONFIG(cpp/winrt) + +#endif // QT_WINRTBASE_P_H diff --git a/src/corelib/text/qlocale_win.cpp b/src/corelib/text/qlocale_win.cpp index 67fac953043..cb8317784f7 100644 --- a/src/corelib/text/qlocale_win.cpp +++ b/src/corelib/text/qlocale_win.cpp @@ -20,15 +20,8 @@ #endif #if QT_CONFIG(cpp_winrt) -# include -# include -// Workaround for Windows SDK bug. -// See https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/issues/47 -namespace winrt::impl -{ - template - auto wait_for(Async const& async, Windows::Foundation::TimeSpan const& timeout); -} +# include + # include # include # include diff --git a/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.cpp b/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.cpp index f46dfb88ee9..5b0a91df3ee 100644 --- a/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.cpp +++ b/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.cpp @@ -9,15 +9,7 @@ #include #if QT_CONFIG(cpp_winrt) -#include -#include -// Workaround for Windows SDK bug. -// See https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/issues/47 -namespace winrt::impl -{ - template - auto wait_for(Async const& async, Windows::Foundation::TimeSpan const& timeout); -} +#include #include #endif // QT_CONFIG(cpp_winrt) diff --git a/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.h b/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.h index 548baef2307..d91cd8a4cc6 100644 --- a/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.h +++ b/src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.h @@ -20,8 +20,7 @@ #include #if QT_CONFIG(cpp_winrt) -#include -#include +#include #endif using namespace Microsoft::WRL; diff --git a/src/plugins/platforms/windows/qwindowstheme.cpp b/src/plugins/platforms/windows/qwindowstheme.cpp index 6e804c53a02..7535c7a5833 100644 --- a/src/plugins/platforms/windows/qwindowstheme.cpp +++ b/src/plugins/platforms/windows/qwindowstheme.cpp @@ -43,15 +43,8 @@ #include #if QT_CONFIG(cpp_winrt) -# include -# include -// Workaround for Windows SDK bug. -// See https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/issues/47 -namespace winrt::impl -{ - template - auto wait_for(Async const& async, Windows::Foundation::TimeSpan const& timeout); -} +# include + # include #endif // QT_CONFIG(cpp_winrt)