diff options
Diffstat (limited to 'src/layouts/qquicklayout.cpp')
-rw-r--r-- | src/layouts/qquicklayout.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/layouts/qquicklayout.cpp b/src/layouts/qquicklayout.cpp index c54d94e7..6d36a92e 100644 --- a/src/layouts/qquicklayout.cpp +++ b/src/layouts/qquicklayout.cpp @@ -401,16 +401,19 @@ void QQuickLayoutAttached::invalidateItem() QQuickLayout *QQuickLayoutAttached::parentLayout() const { - QQuickItem *parentItem = item()->parentItem(); - if (qobject_cast<QQuickLayout *>(parentItem)) - return static_cast<QQuickLayout *>(parentItem); + QQuickItem *parentItem = item(); + if (parentItem) { + parentItem = parentItem->parentItem(); + return qobject_cast<QQuickLayout *>(parentItem); + } else { + qWarning("Layout must be attached to Item elements"); + } return 0; } QQuickItem *QQuickLayoutAttached::item() const { - Q_ASSERT(qobject_cast<QQuickItem*>(parent())); - return static_cast<QQuickItem*>(parent()); + return qobject_cast<QQuickItem *>(parent()); } |