mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 18:31:15 +08:00
1e2c7c3d57
* try qt 6.4-beta4 * fix patch * fix copyright install * fix qtdeclarative * always perform import prefix correction * adjust qtmultimedia * fix qttools * add missing " * fix linux ? * fix qtmultimedia with gstreamer * fix qtvirtualkeyboard * fix qtwebengine * fix qmllint regression in qtdeclarative on osx/linux * fix details * fix qttools deps * fix qtdeclarative deps * remove xcb feature * fix hunspell patch * bump qtbase * add qt3d * format manifest * test features in CI * pass ci baseline stuff * vulkan is skip in ci so cannot force it. * remove extra , * fix deps * try to fix promotion * gstreamer adjustments. * fix gstreamer on linux * fix gstreamer stuff * fix x264 api import macro * fix gst-rsp-server * correctly replace * promote targets.... * enable arm64 qtwebengine * --trace-expand * install wrapper for egl. * add newline * remove opengl from skip list * add gl to link * another try * retry again * test dynamic angle linkage * retry * link XNVCtrl * retry * add libxnvctrl * retry * retry again... * move wrapper to angle * revert changes to egl-reg * more debugging * try again * fix stuff * add missing , * egl stuff * wrapper stuff * fix angle * remove double dep * remove libxnvctrl * format manifest * revert trace * bump version * bump v * v db * remove trace * v db * refine supports * v db * remove qtmultimedia from baseline * format manifest * update all the stuff * refine qtmultimedia * fix qtmultimedia? * fix stuff * fix stuff ? * trace again * Try fixing qtmultimedia for static windows builds. * is ci faster than me...? * refine * fix gstreamer static usage * fix all the qt things! * fix the path * try getting logs. * fix patch * trace stuff * only fix stuff when it needs fixing * force lookup of system EGL. migth need a wrapper in opengl instead. * try fixing opengl * don't directly call _find_package * don't search in install prefix * retry * disable trace * have the correct fix for linux ? * move angle into a subfolder. No way to deal with it otherwise on linux. * make the wrapper do nothing * try fixing allegro5 * lower case * remove wrapper * v db * remove trace * v db * remove trace * v db * try fixing allegro5 on arm * retry again * try again * revert allegro * put on ci baseline * v db * v db * bump port * v db fix * remove conflicting wrapper * v db * glib now uses pcre2 * fix gstreamer picking up egl on windows * v db * fix find_package call * Add bullet feature control * Disable Qt * Update versions * Remove obsolete qt patch junk * Update versions * v db * comments * v db * v db * v db * v db * restore correction lost in merge * v db * promote to global * v db * Fix minimal qtbase builds with opengl disabled * make host dependency on qtshadertools a normal dependency in qtmultimedia. * v db * opengl dynamic doesn't work on !windows * v db Co-authored-by: Kai Pastor <dg0yt@darc.de>
39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
|
|
index e40cd85..ba68a01 100644
|
|
--- a/src/corelib/kernel/qmetatype.h
|
|
+++ b/src/corelib/kernel/qmetatype.h
|
|
@@ -18,6 +18,7 @@
|
|
#endif
|
|
#include <QtCore/qhashfunctions.h>
|
|
|
|
+#include <type_traits>
|
|
#include <array>
|
|
#include <new>
|
|
#include <vector>
|
|
@@ -826,7 +829,13 @@
|
|
struct IsGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; };
|
|
|
|
template<typename T>
|
|
+#if defined(__clang__) && (__clang_major__ > 11)
|
|
+ // Clang does not reject T::QtGadgetHelper as ambiguous if a class inherits from two QGADGETS
|
|
+ // but is not a QGADGET itself
|
|
+ struct IsGadgetHelper<T, std::void_t<typename T::QtGadgetHelper, decltype(&T::qt_check_for_QGADGET_macro)>>
|
|
+#else
|
|
struct IsGadgetHelper<T, typename T::QtGadgetHelper>
|
|
+#endif
|
|
{
|
|
template <typename X>
|
|
static char checkType(void (X::*)());
|
|
@@ -841,7 +850,11 @@
|
|
struct IsPointerToGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; };
|
|
|
|
template<typename T>
|
|
+#if defined(__clang__) && (__clang_major__ > 11)
|
|
+ struct IsPointerToGadgetHelper<T*, std::void_t<typename T::QtGadgetHelper, decltype(&T::qt_check_for_QGADGET_macro)>>
|
|
+#else
|
|
struct IsPointerToGadgetHelper<T*, typename T::QtGadgetHelper>
|
|
+#endif
|
|
{
|
|
using BaseType = T;
|
|
template <typename X>
|