Index: trunk/src/gui/math3d/qgenericmatrix.cpp
===================================================================
--- trunk/src/gui/math3d/qgenericmatrix.cpp	(revision 651)
+++ trunk/src/gui/math3d/qgenericmatrix.cpp	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -253,5 +253,5 @@
     reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
@@ -263,5 +263,5 @@
     and returns a reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
Index: trunk/src/gui/math3d/qgenericmatrix.h
===================================================================
--- trunk/src/gui/math3d/qgenericmatrix.h	(revision 651)
+++ trunk/src/gui/math3d/qgenericmatrix.h	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -199,6 +199,7 @@
 Q_OUTOFLINE_TEMPLATE QGenericMatrix<N, M, T>& QGenericMatrix<N, M, T>::operator+=(const QGenericMatrix<N, M, T>& other)
 {
-    for (int index = 0; index < N * M; ++index)
-        m[0][index] += other.m[0][index];
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            m[col][row] += other.m[col][row];
     return *this;
 }
@@ -207,6 +208,7 @@
 Q_OUTOFLINE_TEMPLATE QGenericMatrix<N, M, T>& QGenericMatrix<N, M, T>::operator-=(const QGenericMatrix<N, M, T>& other)
 {
-    for (int index = 0; index < N * M; ++index)
-        m[0][index] -= other.m[0][index];
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            m[col][row] -= other.m[col][row];
     return *this;
 }
@@ -215,6 +217,7 @@
 Q_OUTOFLINE_TEMPLATE QGenericMatrix<N, M, T>& QGenericMatrix<N, M, T>::operator*=(T factor)
 {
-    for (int index = 0; index < N * M; ++index)
-        m[0][index] *= factor;
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            m[col][row] *= factor;
     return *this;
 }
@@ -223,8 +226,9 @@
 Q_OUTOFLINE_TEMPLATE bool QGenericMatrix<N, M, T>::operator==(const QGenericMatrix<N, M, T>& other) const
 {
-    for (int index = 0; index < N * M; ++index) {
-        if (m[0][index] != other.m[0][index])
-            return false;
-    }
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)  {
+            if (m[col][row] != other.m[col][row])
+                return false;
+        }
     return true;
 }
@@ -233,8 +237,9 @@
 Q_OUTOFLINE_TEMPLATE bool QGenericMatrix<N, M, T>::operator!=(const QGenericMatrix<N, M, T>& other) const
 {
-    for (int index = 0; index < N * M; ++index) {
-        if (m[0][index] != other.m[0][index])
-            return true;
-    }
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col) {
+            if (m[col][row] != other.m[col][row])
+                return true;
+        }
     return false;
 }
@@ -243,6 +248,7 @@
 Q_OUTOFLINE_TEMPLATE QGenericMatrix<N, M, T>& QGenericMatrix<N, M, T>::operator/=(T divisor)
 {
-    for (int index = 0; index < N * M; ++index)
-        m[0][index] /= divisor;
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            m[col][row] /= divisor;
     return *this;
 }
@@ -252,6 +258,7 @@
 {
     QGenericMatrix<N, M, T> result(1);
-    for (int index = 0; index < N * M; ++index)
-        result.m[0][index] = m1.m[0][index] + m2.m[0][index];
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            result.m[col][row] = m1.m[col][row] + m2.m[col][row];
     return result;
 }
@@ -261,6 +268,7 @@
 {
     QGenericMatrix<N, M, T> result(1);
-    for (int index = 0; index < N * M; ++index)
-        result.m[0][index] = m1.m[0][index] - m2.m[0][index];
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            result.m[col][row] = m1.m[col][row] - m2.m[col][row];
     return result;
 }
@@ -285,6 +293,7 @@
 {
     QGenericMatrix<N, M, T> result(1);
-    for (int index = 0; index < N * M; ++index)
-        result.m[0][index] = -matrix.m[0][index];
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            result.m[col][row] = -matrix.m[col][row];
     return result;
 }
@@ -294,6 +303,7 @@
 {
     QGenericMatrix<N, M, T> result(1);
-    for (int index = 0; index < N * M; ++index)
-        result.m[0][index] = matrix.m[0][index] * factor;
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            result.m[col][row] = matrix.m[col][row] * factor;
     return result;
 }
@@ -303,6 +313,7 @@
 {
     QGenericMatrix<N, M, T> result(1);
-    for (int index = 0; index < N * M; ++index)
-        result.m[0][index] = matrix.m[0][index] * factor;
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            result.m[col][row] = matrix.m[col][row] * factor;
     return result;
 }
@@ -312,6 +323,7 @@
 {
     QGenericMatrix<N, M, T> result(1);
-    for (int index = 0; index < N * M; ++index)
-        result.m[0][index] = matrix.m[0][index] / divisor;
+    for (int row = 0; row < M; ++row)
+        for (int col = 0; col < N; ++col)
+            result.m[col][row] = matrix.m[col][row] / divisor;
     return result;
 }
Index: trunk/src/gui/math3d/qmatrix4x4.cpp
===================================================================
--- trunk/src/gui/math3d/qmatrix4x4.cpp	(revision 651)
+++ trunk/src/gui/math3d/qmatrix4x4.cpp	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -1879,5 +1879,5 @@
     reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
@@ -1897,5 +1897,5 @@
     and returns a reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
Index: trunk/src/gui/math3d/qmatrix4x4.h
===================================================================
--- trunk/src/gui/math3d/qmatrix4x4.h	(revision 651)
+++ trunk/src/gui/math3d/qmatrix4x4.h	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -208,4 +208,6 @@
     friend class QGraphicsRotation;
 };
+
+Q_DECLARE_TYPEINFO(QMatrix4x4, Q_MOVABLE_TYPE);
 
 inline QMatrix4x4::QMatrix4x4
Index: trunk/src/gui/math3d/qquaternion.cpp
===================================================================
--- trunk/src/gui/math3d/qquaternion.cpp	(revision 651)
+++ trunk/src/gui/math3d/qquaternion.cpp	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -596,5 +596,5 @@
     reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
@@ -613,5 +613,5 @@
     and returns a reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
Index: trunk/src/gui/math3d/qquaternion.h
===================================================================
--- trunk/src/gui/math3d/qquaternion.h	(revision 651)
+++ trunk/src/gui/math3d/qquaternion.h	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -137,4 +137,6 @@
 };
 
+Q_DECLARE_TYPEINFO(QQuaternion, Q_MOVABLE_TYPE);
+
 inline QQuaternion::QQuaternion() : wp(1.0f), xp(0.0f), yp(0.0f), zp(0.0f) {}
 
Index: trunk/src/gui/math3d/qvector2d.cpp
===================================================================
--- trunk/src/gui/math3d/qvector2d.cpp	(revision 651)
+++ trunk/src/gui/math3d/qvector2d.cpp	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -435,5 +435,5 @@
     reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
@@ -451,5 +451,5 @@
     and returns a reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
Index: trunk/src/gui/math3d/qvector2d.h
===================================================================
--- trunk/src/gui/math3d/qvector2d.h	(revision 651)
+++ trunk/src/gui/math3d/qvector2d.h	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -127,4 +127,6 @@
 };
 
+Q_DECLARE_TYPEINFO(QVector2D, Q_MOVABLE_TYPE);
+
 inline QVector2D::QVector2D() : xp(0.0f), yp(0.0f) {}
 
Index: trunk/src/gui/math3d/qvector3d.cpp
===================================================================
--- trunk/src/gui/math3d/qvector3d.cpp	(revision 651)
+++ trunk/src/gui/math3d/qvector3d.cpp	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -586,5 +586,5 @@
     reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
@@ -603,5 +603,5 @@
     and returns a reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
Index: trunk/src/gui/math3d/qvector3d.h
===================================================================
--- trunk/src/gui/math3d/qvector3d.h	(revision 651)
+++ trunk/src/gui/math3d/qvector3d.h	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -142,4 +142,6 @@
 };
 
+Q_DECLARE_TYPEINFO(QVector3D, Q_MOVABLE_TYPE);
+
 inline QVector3D::QVector3D() : xp(0.0f), yp(0.0f), zp(0.0f) {}
 
Index: trunk/src/gui/math3d/qvector4d.cpp
===================================================================
--- trunk/src/gui/math3d/qvector4d.cpp	(revision 651)
+++ trunk/src/gui/math3d/qvector4d.cpp	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -539,5 +539,5 @@
     reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
@@ -556,5 +556,5 @@
     and returns a reference to the stream.
 
-    \sa {Format of the QDataStream Operators}
+    \sa {Serializing Qt Data Types}
 */
 
Index: trunk/src/gui/math3d/qvector4d.h
===================================================================
--- trunk/src/gui/math3d/qvector4d.h	(revision 651)
+++ trunk/src/gui/math3d/qvector4d.h	(revision 846)
@@ -1,5 +1,5 @@
 /****************************************************************************
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
@@ -139,4 +139,6 @@
 };
 
+Q_DECLARE_TYPEINFO(QVector4D, Q_MOVABLE_TYPE);
+
 inline QVector4D::QVector4D() : xp(0.0f), yp(0.0f), zp(0.0f), wp(0.0f) {}
 
