aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-22 15:55:03 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-23 09:15:47 +0000
commit5ea88122a7442c49d2262c95a6b0cd32c5b5b541 (patch)
treed3d5cb247177214e9ac646d1e0989a4605c9f7a6 /src
parentdc5b4044fddfa31509610b22f9527435cd1c580c (diff)
Support ApplicationWindow attached property for items inside Popup
Change-Id: Ie8fb9fcf415670102d9364f85120bc315a8a067e Task-number: QTBUG-51991 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/templates/qquickapplicationwindow.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/templates/qquickapplicationwindow.cpp b/src/templates/qquickapplicationwindow.cpp
index 1cc21d74..0e85fc2b 100644
--- a/src/templates/qquickapplicationwindow.cpp
+++ b/src/templates/qquickapplicationwindow.cpp
@@ -620,6 +620,16 @@ QQuickApplicationWindowAttached::QQuickApplicationWindowAttached(QObject *parent
if (QQuickItem *item = qobject_cast<QQuickItem *>(parent)) {
d->windowChange(item->window());
QObjectPrivate::connect(item, &QQuickItem::windowChanged, d, &QQuickApplicationWindowAttachedPrivate::windowChange);
+ if (!d->window) {
+ QQuickItem *p = item;
+ while (p) {
+ if (QQuickPopup *popup = qobject_cast<QQuickPopup *>(p->parent())) {
+ d->windowChange(popup->window());
+ QObjectPrivate::connect(popup, &QQuickPopup::windowChanged, d, &QQuickApplicationWindowAttachedPrivate::windowChange);
+ }
+ p = p->parentItem();
+ }
+ }
} else if (QQuickPopup *popup = qobject_cast<QQuickPopup *>(parent)) {
d->windowChange(popup->window());
QObjectPrivate::connect(popup, &QQuickPopup::windowChanged, d, &QQuickApplicationWindowAttachedPrivate::windowChange);