Sine Striker
2023-12-27 917d0216c61bc1488e0c0a7cecbc562f265becf5
src/widgets/widgetwindowagent_mac.cpp
@@ -15,17 +15,19 @@
    protected:
        bool eventFilter(QObject *obj, QEvent *event) override {
            Q_UNUSED(obj)
            switch (event->type()) {
                case QEvent::Move:
                case QEvent::Resize: {
                    ctx->setSystemButtonArea(widget->geometry());
                    QRect rect(widget->mapTo(widget->window(), {}), widget->size());
                    ctx->setSystemButtonArea(rect);
                    break;
                }
                default:
                    break;
            }
            return QObject::eventFilter(obj, event);
            return false;
        }
    protected:
@@ -40,14 +42,15 @@
    void WidgetWindowAgent::setSystemButtonArea(QWidget *widget) {
        Q_D(WidgetWindowAgent);
        auto ctx = d->context.get();
        d->systemButtonAreaWidget = widget;
        if (!widget) {
            systemButtonAreaWidgetEventFilter.reset();
            d->context->setSystemButtonArea({});
            d->systemButtonAreaWidgetEventFilter.reset();
            ctx->setSystemButtonArea({});
            return;
        }
        systemButtonAreaWidgetEventFilter =
            std::make_unique<SystemButtonAreaWidgetEventFilter>(widget, d->context);
        d->systemButtonAreaWidgetEventFilter =
            std::make_unique<SystemButtonAreaWidgetEventFilter>(widget, ctx);
    }
}