91static QQmlPrivate::AutoParentResult qquickitem_autoParent(QObject *obj, QObject *parent)
93 if (QQuickItem *parentItem = qmlobject_cast<QQuickItem *>(parent)) {
94 if (QQuickItem *item = qmlobject_cast<QQuickItem *>(obj)) {
96 item->setParentItem(parentItem);
97 return QQmlPrivate::Parented;
98 }
else if (QQuickPointerHandler *handler = qmlobject_cast<QQuickPointerHandler *>(obj)) {
99 QQuickItemPrivate::get(parentItem)->addPointerHandler(handler);
100 handler->setParent(parent);
101 return QQmlPrivate::Parented;
103 return QQmlPrivate::IncompatibleObject;
104 }
else if (QQuickWindow *parentWindow = qmlobject_cast<QQuickWindow *>(parent)) {
105 if (QQuickItem *item = qmlobject_cast<QQuickItem *>(obj)) {
107 item->setParentItem(parentWindow->contentItem());
108 return QQmlPrivate::Parented;
109 }
else if (QQuickPointerHandler *handler = qmlobject_cast<QQuickPointerHandler *>(obj)) {
110 QQuickItemPrivate::get(parentWindow->contentItem())->addPointerHandler(handler);
111 handler->setParent(parentWindow->contentItem());
112 return QQmlPrivate::Parented;
114 return QQmlPrivate::IncompatibleObject;
115 }
else if (qmlobject_cast<QQuickItem *>(obj)) {
116 return QQmlPrivate::IncompatibleParent;
118 return QQmlPrivate::IncompatibleObject;