Skip to content

建议AbstractWindowContext的hitTestVisibleItems使用QPointer #122

@czyt1988

Description

@czyt1988

目前我遇到一个问题,就是使用setHitTestVisible后,这个窗口如果删除,会出错,我看setHitTestVisible是把对象放置在AbstractWindowContext的QSet<const QObject *> m_hitTestVisibleItems;变量中

AbstractWindowContext::isInTitleBarDraggableArea中进行遍历

for (auto widget : m_hitTestVisibleItems) {
    if (widget && m_delegate->isVisible(widget) && m_delegate->isEnabled(widget) &&
        m_delegate->mapGeometryToScene(widget).contains(pos)) {
        return false;
    }
}

这里如果setHitTestVisible的对象删除了,那么就会出现异常,能否把对象改为QSet<Pointer<QObject>>,这样用户不用管理

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions