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_p.h |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/core/contexts/qtwindowcontext_p.h b/src/core/contexts/qtwindowcontext_p.h
index 9a78813..dc19f0a 100644
--- a/src/core/contexts/qtwindowcontext_p.h
+++ b/src/core/contexts/qtwindowcontext_p.h
@@ -5,17 +5,20 @@
 
 namespace QWK {
 
-    class QWK_CORE_EXPORT QtWindowContext : public AbstractWindowContext {
+    class QtWindowContext : public AbstractWindowContext {
         Q_OBJECT
     public:
-        QtWindowContext(QObject *host, WindowItemDelegate *delegate);
-        ~QtWindowContext();
+        QtWindowContext();
+        ~QtWindowContext() override;
 
-    public:
-        bool setup() override;
+        QString key() const override;
+        void virtual_hook(int id, void *data) override;
 
     protected:
-        bool eventFilter(QObject *obj, QEvent *event) override;
+        void winIdChanged(QWindow *oldWindow) override;
+
+    protected:
+        std::unique_ptr<QObject> qtWindowEventFilter;
     };
 
 }

--
Gitblit v1.9.1