From fc78bc2c06a5cb01f0a67675dbba1a5f0f99f5ed Mon Sep 17 00:00:00 2001
From: Marc Mutz <marc.mutz@kdab.com>
Date: Sun, 19 Jul 2015 21:58:32 +0200
Subject: [PATCH] QGenericMatrix<N,M,T>: mark as relocatable, depending on T

Inherit the type-classification from the underlying type,
but, for BC reasons, force isStatic = true, so QList does
not change its memory layout in an incompatible way.

Change-Id: I11003cdd24968f903fbd86aa2f5c17287e057c1f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
---
 src/gui/math3d/qgenericmatrix.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/gui/math3d/qgenericmatrix.h b/src/gui/math3d/qgenericmatrix.h
index b7a61965154..5e22fa67304 100644
--- a/src/gui/math3d/qgenericmatrix.h
+++ b/src/gui/math3d/qgenericmatrix.h
@@ -103,6 +103,17 @@ private:
     friend class QGenericMatrix;
 #endif
 };
+template <int N, int M, typename T>
+class QTypeInfo<QGenericMatrix<N, M, T> >
+    : public QTypeInfoMerger<QGenericMatrix<N, M, T>, T>
+{
+#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
+public:
+    enum {
+        isStatic = true,
+    }; // at least Q_RELOCATABLE_TYPE, for BC during Qt 5
+#endif
+};
 
 template <int N, int M, typename T>
 Q_INLINE_TEMPLATE QGenericMatrix<N, M, T>::QGenericMatrix()
-- 
GitLab