From 245ddfa1f01b4c9fa10337246b8045755e5bcce5 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周二, 19 12月 2023 21:03:58 +0800
Subject: [PATCH] Change back to qScopeGuard

---
 src/core/contexts/win32windowcontext.cpp |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp
index 4465e01..cd1ab62 100644
--- a/src/core/contexts/win32windowcontext.cpp
+++ b/src/core/contexts/win32windowcontext.cpp
@@ -437,9 +437,12 @@
         }
         RECT currentWindowRect{};
         ::GetWindowRect(hwnd, &currentWindowRect);
-        auto newWindowX = activeMonitorRect.left + (currentWindowRect.left - currentMonitorRect.left);
+        auto newWindowX =
+            activeMonitorRect.left + (currentWindowRect.left - currentMonitorRect.left);
         auto newWindowY = activeMonitorRect.top + (currentWindowRect.top - currentMonitorRect.top);
-        ::SetWindowPos(hwnd, nullptr, newWindowX, newWindowY, RECT_WIDTH(currentWindowRect), RECT_HEIGHT(currentWindowRect), SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER);
+        ::SetWindowPos(hwnd, nullptr, newWindowX, newWindowY, RECT_WIDTH(currentWindowRect),
+                       RECT_HEIGHT(currentWindowRect),
+                       SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER);
     }
 
     static inline void bringWindowToFront(HWND hwnd) {
@@ -466,7 +469,8 @@
         // First try to send a message to the current foreground window to check whether
         // it is currently hanging or not.
         if (!::SendMessageTimeoutW(oldForegroundWindow, WM_NULL, 0, 0,
-                                  SMTO_BLOCK | SMTO_ABORTIFHUNG | SMTO_NOTIMEOUTIFNOTHUNG, 1000, nullptr)) {
+                                   SMTO_BLOCK | SMTO_ABORTIFHUNG | SMTO_NOTIMEOUTIFNOTHUNG, 1000,
+                                   nullptr)) {
             // The foreground window hangs, can't activate current window.
             return;
         }
@@ -475,16 +479,12 @@
         // We won't be able to change a window's Z order if it's not our own window,
         // so we use this small technique to pretend the foreground window is ours.
         ::AttachThreadInput(windowThreadProcessId, currentThreadId, TRUE);
-        QWK_USED struct Cleaner {
-            Cleaner(DWORD idAttach, DWORD idAttachTo) : m_idAttach(idAttach), m_idAttachTo(idAttachTo) {}
-            ~Cleaner() {
-                ::AttachThreadInput(m_idAttach, m_idAttachTo, FALSE);
-            }
-        private:
-            Q_DISABLE_COPY(Cleaner)
-            DWORD m_idAttach;
-            DWORD m_idAttachTo;
-        } cleaner{ windowThreadProcessId, currentThreadId };
+
+        [[maybe_unused]] const auto &cleaner =
+            qScopeGuard([windowThreadProcessId, currentThreadId]() {
+                ::AttachThreadInput(windowThreadProcessId, currentThreadId, FALSE); //
+            });
+
         ::BringWindowToTop(hwnd);
         // Activate the window too. This will force us to the virtual desktop this
         // window is on, if it's on another virtual desktop.
@@ -1439,7 +1439,6 @@
                 // Terminal does, however, later I found that if we choose a proper
                 // color, our homemade top border can almost have exactly the same
                 // appearance with the system's one.
-
                 [[maybe_unused]] const auto &hitTestRecorder = qScopeGuard([this, result]() {
                     lastHitTestResult = getHitWindowPart(int(*result)); //
                 });

--
Gitblit v1.9.1