From 0287f19b3eabf6b6632d51c0288e6cf0be2c5e69 Mon Sep 17 00:00:00 2001
From: Yuhang Zhao <zhaoyuhang@rankyee.com>
Date: 周三, 06 12月 2023 18:04:31 +0800
Subject: [PATCH] update pointer usage

---
 src/core/contexts/win32windowcontext.cpp |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp
index 4a99a18..a843e90 100644
--- a/src/core/contexts/win32windowcontext.cpp
+++ b/src/core/contexts/win32windowcontext.cpp
@@ -443,11 +443,17 @@
         static WindowsNativeEventFilter *instance;
 
         static inline void install() {
+            if (instance) {
+                return;
+            }
             instance = new WindowsNativeEventFilter();
             installNativeEventFilter(instance);
         }
 
         static inline void uninstall() {
+            if (!instance) {
+                return;
+            }
             removeNativeEventFilter(instance);
             delete instance;
             instance = nullptr;
@@ -539,7 +545,7 @@
         return ::CallWindowProcW(g_qtWindowProc, hWnd, message, wParam, lParam);
     }
 
-    Win32WindowContext::Win32WindowContext(QObject *host, WindowItemDelegate *delegate)
+    Win32WindowContext::Win32WindowContext(const QObject *host, const WindowItemDelegate *delegate)
         : AbstractWindowContext(host, delegate) {
     }
 
@@ -576,9 +582,7 @@
         ::SetWindowLongPtrW(hWnd, GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(QWKHookedWndProc));
 
         // Install global native event filter
-        if (!WindowsNativeEventFilter::instance) {
-            WindowsNativeEventFilter::install();
-        }
+        WindowsNativeEventFilter::install();
 
         // Cache window ID
         windowId = winId;

--
Gitblit v1.9.1