qtquick: Fix crash at exit

Don't delete our QWindow if the QWindow is currently deleting us
This commit is contained in:
Sergio Martins
2020-11-18 18:10:32 +00:00
parent 3dbf699c49
commit 59168da231
3 changed files with 25 additions and 2 deletions

View File

@@ -26,6 +26,7 @@
#include <QQmlComponent>
#include <QQuickItem>
#include <QQmlEngine>
#include <QQuickView>
using namespace KDDockWidgets;
@@ -246,6 +247,20 @@ void QWidgetAdapter::resize(int w, int h)
resize({w, h});
}
bool QWidgetAdapter::isWindow() const
{
QQuickItem *parent = parentItem();
if (!parent)
return true;
if (QQuickView *w = quickView()) {
if (parent == w->contentItem() || parent == w->rootObject())
return true;
}
return false;
}
bool QWidgetAdapter::isMaximized() const
{
if (QWindow *w = windowHandle())
@@ -280,6 +295,11 @@ void QWidgetAdapter::showNormal()
w->showNormal();
}
QQuickView *QWidgetAdapter::quickView() const
{
return qobject_cast<QQuickView *>(QQuickItem::window());
}
QWindow *QWidgetAdapter::windowHandle() const
{
return QQuickItem::window();