zhuzichu520 / FluentUI

FluentUI for QML
MIT License
3.16k stars 422 forks source link

在QtObject中使用FluWindow出现的异常 #412

Closed wind-j closed 4 months ago

wind-j commented 5 months ago

在QtObject定义使用会出现程序奔溃异常。

// qml
import QtQuick
import FluentUI

QtObject {
    property var mainWindow: MainWindow {}
}

经调试,发现在FluFramelessHelper::componentComplete()中赋值了最顶层Object,导致window->winId()调用异常。

目前修改为如下可正常使用:

    auto o = parent();
    do {
        window = qobject_cast<QQuickWindow *>(o);
        if (window) {
            break;
        }
        o = o->parent();
    } while (nullptr != o);
zhuzichu520 commented 5 months ago

已修改,非常感谢你提供的修复代码~ https://github.com/zhuzichu520/FluentUI/commit/3dfca40680ada8bf3b10252f630d630e54cf55ea