From d3d7430ec9afb94abaf78fa2c9edd9d9f946881c Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周一, 18 12月 2023 01:29:07 +0800 Subject: [PATCH] Add QtContext WinIdChange workaround --- src/core/contexts/qtwindowcontext.cpp | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/core/contexts/qtwindowcontext.cpp b/src/core/contexts/qtwindowcontext.cpp index ad982c6..35fc2d1 100644 --- a/src/core/contexts/qtwindowcontext.cpp +++ b/src/core/contexts/qtwindowcontext.cpp @@ -103,7 +103,8 @@ QtWindowEventFilter::~QtWindowEventFilter() = default; - bool QtWindowEventFilter::eventFilter(QObject *object, QEvent *event) { + bool QtWindowEventFilter::eventFilter(QObject *obj, QEvent *event) { + Q_UNUSED(obj) auto type = event->type(); if (type < QEvent::MouseButtonPress || type > QEvent::MouseMove) { return false; @@ -252,10 +253,11 @@ AbstractWindowContext::virtual_hook(id, data); } - bool QtWindowContext::setupHost() { - m_delegate->setWindowFlags(m_host, Qt::FramelessWindowHint); - std::ignore = new QtWindowEventFilter(this, this); - return true; + void QtWindowContext::winIdChanged(QWindow *oldWindow) { + Q_UNUSED(oldWindow) + m_delegate->setWindowFlags(m_host, + m_delegate->getWindowFlags(m_host) | Qt::FramelessWindowHint); + qtWindowEventFilter = std::make_unique<QtWindowEventFilter>(this); } -} \ No newline at end of file +} -- Gitblit v1.9.1