qtquick: Fix crash at exit
Don't delete our QWindow if the QWindow is currently deleting us
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user