summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index a7140a3d6d..2b86113387 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -1392,6 +1392,13 @@ void QWindowsWindow::setMask(const QRegion &region)
return;
}
const HRGN winRegion = qRegionToWinRegion(region);
+
+ // Mask is in client area coordinates, so offset it in case we have a frame
+ if (window()->isTopLevel()) {
+ const QMargins margins = frameMargins();
+ OffsetRgn(winRegion, margins.left(), margins.top());
+ }
+
// SetWindowRgn takes ownership.
if (!SetWindowRgn(m_data.hwnd, winRegion, true))
DeleteObject(winRegion);