From 5e1c012c539e74804454d45a1b945093afdb8f4f Mon Sep 17 00:00:00 2001
From: Zhao Yuhang <2546789017@qq.com>
Date: 周日, 09 2月 2025 11:15:59 +0800
Subject: [PATCH] apply some fixes and workarounds

---
 src/widgets/widgetwindowagent_win.cpp |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/widgets/widgetwindowagent_win.cpp b/src/widgets/widgetwindowagent_win.cpp
index 2e08d04..1522cab 100644
--- a/src/widgets/widgetwindowagent_win.cpp
+++ b/src/widgets/widgetwindowagent_win.cpp
@@ -55,8 +55,16 @@
         }
 
         void updateGeometry() override {
-            widget->setContentsMargins(isNormalWindow() ? QMargins(0, borderThickness(), 0, 0)
-                                                        : QMargins());
+            // The window top border is manually painted by QWK so we want to give
+            // some margins to avoid it covering real window contents, however, we
+            // found that there are some rounding issues for the thin border and
+            // thus this small trick doesn't work very well when the DPR is not
+            // integer. So far we haven't found a perfect solution, so just don't
+            // set any margins. In theory the window content will only be covered
+            // by 1px or so, it should not be a serious issue in the real world.
+            //
+            // widget->setContentsMargins(isNormalWindow() ? QMargins(0, borderThickness(), 0, 0)
+            //                                             : QMargins());
         }
 
         bool isWindowActive() const override {

--
Gitblit v1.9.1