aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-09-30 21:23:01 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-10-02 11:24:01 +0000
commitde0212e51e65b578bc941c1004914a0c33c06da7 (patch)
tree2ecccddc29e5eb9b1ad74a9c2b0371036a47d0eb /src/quickcontrols2
parente95dc3b4853c1736aef0ef2cc5248ec0aa46e3ff (diff)
Fix style inheritance
When unable to find a parent item style on window change, use the window style as a fallback to avoid a parentless style. Task-number: QTBUG-52631 Change-Id: I5d31dc72075f06f865f01c3ee2411de6a1485677 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quickcontrols2')
-rw-r--r--src/quickcontrols2/qquickstyleattached.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/quickcontrols2/qquickstyleattached.cpp b/src/quickcontrols2/qquickstyleattached.cpp
index cdfa902e..e72abde0 100644
--- a/src/quickcontrols2/qquickstyleattached.cpp
+++ b/src/quickcontrols2/qquickstyleattached.cpp
@@ -241,10 +241,13 @@ void QQuickStyleAttached::parentStyleChange(QQuickStyleAttached *newParent, QQui
void QQuickStyleAttached::itemWindowChanged(QQuickWindow *window)
{
- Q_UNUSED(window);
+ QQuickStyleAttached *parentStyle = nullptr;
QQuickItem *item = qobject_cast<QQuickItem *>(sender());
if (item)
- setParentStyle(findParentStyle(metaObject(), item));
+ parentStyle = findParentStyle(metaObject(), item);
+ if (!parentStyle)
+ parentStyle = attachedStyle(metaObject(), window);
+ setParentStyle(parentStyle);
}
void QQuickStyleAttached::itemParentChanged(QQuickItem *item, QQuickItem *parent)