multimedia/ossia-score: Fix build with Qt 6.9

With hat:	kde@
PR:		286051
This commit is contained in:
Jason E. Hale 2025-04-26 23:03:49 -04:00
parent 6b1c9b1051
commit d1bef6c785

View file

@ -0,0 +1,32 @@
Fix build with Qt >= 6.9.0
Backported from: https://github.com/woboq/verdigris/commit/9b3e3f26251444bf48011202db85c892b0f45c57
--- 3rdparty/libossia/3rdparty/verdigris/src/wobjectimpl.h.orig 2025-01-16 18:09:49 UTC
+++ 3rdparty/libossia/3rdparty/verdigris/src/wobjectimpl.h
@@ -796,13 +796,20 @@ struct DataBuilder {
intCount += sizeof... (Ts);
}
-#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)
+ template<class Unique, bool TypeMustBeComplete>
+ static constexpr const QtPrivate::QMetaTypeInterface *metaTypeInterface = QtPrivate::qTryMetaTypeInterfaceForType<Unique, std::conditional_t<TypeMustBeComplete, void, Unique>>();
+#else
template<class T, bool isComplete>
- static constexpr const QtPrivate::QMetaTypeInterface *metaTypeInterface = QtPrivate::qTryMetaTypeInterfaceForType<T, QtPrivate::TypeAndForceComplete<T, std::integral_constant<bool, isComplete>>>();
-
- template<class T, bool isComplete = false>
+ static constexpr const QtPrivate::QMetaTypeInterface *metaTypeInterface
+ = QtPrivate::qTryMetaTypeInterfaceForType<
+ T,
+ QtPrivate::TypeAndForceComplete<T, std::integral_constant<bool, isComplete>>>();
+#endif
+ template<class T, bool TypeMustBeComplete = false>
constexpr void addMetaType() {
- *metaTypeP++ = metaTypeInterface<T, isComplete>;
+ *metaTypeP++ = metaTypeInterface<T, TypeMustBeComplete>;
metaTypeCount += 1;
}
#endif