Sine Striker
2023-12-06 a0bede6ff6a700a6eea9702c49d378f07de22f63
src/core/contexts/abstractwindowcontext.cpp
@@ -2,15 +2,11 @@
namespace QWK {
    AbstractWindowContext::~AbstractWindowContext() = default;
    void AbstractWindowContext::setupWindow(QWindow *window) {
        Q_ASSERT(window);
        if (!window) {
            return;
        }
        m_windowHandle = window;
    AbstractWindowContext::AbstractWindowContext(QObject *host, WindowItemDelegate *delegate)
        : m_host(host), m_delegate(delegate), m_windowHandle(delegate->hostWindow(host)) {
    }
    AbstractWindowContext::~AbstractWindowContext() = default;
    bool AbstractWindowContext::setHitTestVisible(QObject *obj, bool visible) {
        Q_ASSERT(obj);
@@ -119,27 +115,30 @@
            return false;
        }
        if (!titleBarRect.contains(pos)) {
            return false;
        }
        for (int i = CoreWindowAgent::WindowIcon; i <= CoreWindowAgent::Close; ++i) {
            auto currentButton = m_systemButtons[i];
            if (currentButton && m_delegate->isVisible(currentButton) &&
                m_delegate->isEnabled(currentButton) &&
                m_delegate->mapGeometryToScene(currentButton).contains(pos)) {
                return true;
                return false;
            }
        }
        for (auto widget : m_hitTestVisibleItems) {
            if (widget && m_delegate->isVisible(widget) && m_delegate->isEnabled(widget) &&
                m_delegate->mapGeometryToScene(widget).contains(pos)) {
                return true;
                return false;
            }
        }
        if (hitTestShape().contains(pos)) {
            return true;
        if (!m_hitTestVisibleRects.isEmpty() && hitTestShape().contains(pos)) {
            return false;
        }
        return false;
        return true;
    }
}