diff --git a/src/layouts/qquickgridlayoutengine.cpp b/src/layouts/qquickgridlayoutengine.cpp
index 7dc6a334193ca725b51356eba077c4d0e00dafa0..3906dfbb59f3717f9232c55b5131c037b5b7557b 100644
--- a/src/layouts/qquickgridlayoutengine.cpp
+++ b/src/layouts/qquickgridlayoutengine.cpp
@@ -43,6 +43,60 @@
 #include "qquickgridlayoutengine_p.h"
 #include "qquicklayout_p.h"
 
+
+/*
+  The layout engine assumes:
+    1. minimum <= preferred <= maximum
+    2. descent is within minimum and maximum bounds     (### verify)
+
+    This function helps to ensure that by the following rules (in the following order):
+    1. If minimum > maximum, set minimum = maximum
+    2. Make sure preferred is not outside the [minimum,maximum] range.
+    3. If descent > minimum, set descent = minimum      (### verify if this is correct, it might
+                                                        need some refinements to multiline texts)
+
+    If any values are "not set" (i.e. negative), they will be left untouched, so that we
+    know which values needs to be fetched from the implicit hints (not user hints).
+  */
+static void normalizeHints(qreal &minimum, qreal &preferred, qreal &maximum, qreal &descent)
+{
+    if (minimum >= 0 && maximum >= 0 && minimum > maximum)
+        minimum = maximum;
+
+    if (preferred >= 0) {
+        if (minimum >= 0 && preferred < minimum) {
+            preferred = minimum;
+        } else if (maximum >= 0 && preferred > maximum) {
+            preferred = maximum;
+        }
+    }
+
+    if (minimum >= 0 && descent > minimum)
+        descent = minimum;
+}
+
+static void boundSize(QSizeF &result, const QSizeF &size)
+{
+    if (size.width() >= 0 && size.width() < result.width())
+        result.setWidth(size.width());
+    if (size.height() >= 0 && size.height() < result.height())
+        result.setHeight(size.height());
+}
+
+static void expandSize(QSizeF &result, const QSizeF &size)
+{
+    if (size.width() >= 0 && size.width() > result.width())
+        result.setWidth(size.width());
+    if (size.height() >= 0 && size.height() > result.height())
+        result.setHeight(size.height());
+}
+
+static inline void combineHints(qreal &current, qreal fallbackHint)
+{
+    if (current < 0)
+        current = fallbackHint;
+}
+
 /*!
     \internal
     Note: Can potentially return the attached QQuickLayoutAttached object through \a attachedInfo.
diff --git a/src/layouts/qquickgridlayoutengine_p.h b/src/layouts/qquickgridlayoutengine_p.h
index 824dea9db1ceaa5c1c1e856f81acdfc6912b1b8a..67b0257bc716394d9efcc3c51c47afc7dd0e367a 100644
--- a/src/layouts/qquickgridlayoutengine_p.h
+++ b/src/layouts/qquickgridlayoutengine_p.h
@@ -60,59 +60,6 @@
 QT_BEGIN_NAMESPACE
 
 
-/*
-  The layout engine assumes:
-    1. minimum <= preferred <= maximum
-    2. descent is within minimum and maximum bounds     (### verify)
-
-    This function helps to ensure that by the following rules (in the following order):
-    1. If minimum > maximum, set minimum = maximum
-    2. Make sure preferred is not outside the [minimum,maximum] range.
-    3. If descent > minimum, set descent = minimum      (### verify if this is correct, it might
-                                                        need some refinements to multiline texts)
-
-    If any values are "not set" (i.e. negative), they will be left untouched, so that we
-    know which values needs to be fetched from the implicit hints (not user hints).
-  */
-static void normalizeHints(qreal &minimum, qreal &preferred, qreal &maximum, qreal &descent)
-{
-    if (minimum >= 0 && maximum >= 0 && minimum > maximum)
-        minimum = maximum;
-
-    if (preferred >= 0) {
-        if (minimum >= 0 && preferred < minimum) {
-            preferred = minimum;
-        } else if (maximum >= 0 && preferred > maximum) {
-            preferred = maximum;
-        }
-    }
-
-    if (minimum >= 0 && descent > minimum)
-        descent = minimum;
-}
-
-static void boundSize(QSizeF &result, const QSizeF &size)
-{
-    if (size.width() >= 0 && size.width() < result.width())
-        result.setWidth(size.width());
-    if (size.height() >= 0 && size.height() < result.height())
-        result.setHeight(size.height());
-}
-
-static void expandSize(QSizeF &result, const QSizeF &size)
-{
-    if (size.width() >= 0 && size.width() > result.width())
-        result.setWidth(size.width());
-    if (size.height() >= 0 && size.height() > result.height())
-        result.setHeight(size.height());
-}
-
-static inline void combineHints(qreal &current, qreal fallbackHint)
-{
-    if (current < 0)
-        current = fallbackHint;
-}
-
 class QQuickGridLayoutItem : public QGridLayoutItem {
 public:
     QQuickGridLayoutItem(QQuickItem *item, int row, int column,