From f963da1b4099d1bcadae6f8d8669937c3a9ad0f1 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周五, 29 12月 2023 09:14:59 +0800
Subject: [PATCH] Add object helper

---
 src/widgets/widgetwindowagent_win.cpp |   17 +++--------------
 1 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/src/widgets/widgetwindowagent_win.cpp b/src/widgets/widgetwindowagent_win.cpp
index 72d0057..0f4637d 100644
--- a/src/widgets/widgetwindowagent_win.cpp
+++ b/src/widgets/widgetwindowagent_win.cpp
@@ -5,6 +5,7 @@
 #include <QtGui/QPainter>
 
 #include <QWKCore/qwindowkit_windows.h>
+#include <QWKCore/private/qwkglobal_p.h>
 
 namespace QWK {
 
@@ -68,14 +69,8 @@
         }
 
         inline void resumeWidgetEventAndDraw(QWidget *w, QEvent *event) {
-            // Friend class helping to call `event`
-            class HackedWidget : public QWidget {
-            public:
-                friend class QWK::WidgetBorderHandler;
-            };
-
             // Let the widget paint first
-            static_cast<HackedWidget *>(w)->event(event);
+            Private::ObjectHelper::sendEvent(w, event);
 
             // Due to the timer or user action, Qt will repaint some regions spontaneously,
             // even if there is no WM_PAINT message, we must wait for it to finish painting
@@ -84,14 +79,8 @@
         }
 
         inline void resumeWindowEventAndDraw(QWindow *window, QEvent *event) {
-            // Friend class helping to call `event`
-            class HackedWindow : public QWindow {
-            public:
-                friend class QWK::WidgetBorderHandler;
-            };
-
             // Let Qt paint first
-            static_cast<HackedWindow *>(window)->event(event);
+            Private::ObjectHelper::sendEvent(window, event);
 
             // Upon receiving the WM_PAINT message, Qt will repaint the entire view, and we
             // must wait for it to finish painting before drawing this top border area.

--
Gitblit v1.9.1