summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoawindow.mm
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2021-07-08 11:34:00 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-07-12 16:21:33 +0000
commitcdec9d739d35e336e2bd18a2d2c5863c1002c569 (patch)
treef6809f511dd3fab37f2a3ca14afb5786dd9d7e06 /src/plugins/platforms/cocoa/qcocoawindow.mm
parent5f298f6e8ec1b29da4978942383b2ec54b7cd879 (diff)
macOS: Don't make frameless tool windows miniaturizable
Amends 556fbbea6e96c07c6cbd552c4179e5717e799acf, which breaks translucency of frameless tool windows. Possibly a bug in macOS, a window being made miniaturizable should not have side effects on background or translucency. Fixes: QTBUG-95042 Task-number: QTBUG-65637 Change-Id: I651196e3cf8a9c59b250e5f1b4064cc4ded02372 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit e71a5d5cc3c0337e7dbd5d571ecee5668baf8b63) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoawindow.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 0190e34b47..9362351595 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -525,8 +525,10 @@ NSUInteger QCocoaWindow::windowStyleMask(Qt::WindowFlags flags)
if (frameless) {
// Frameless windows do not display the traffic lights buttons for
// e.g. minimize, however StyleMaskMiniaturizable is required to allow
- // programatic minimize.
- styleMask |= NSWindowStyleMaskMiniaturizable;
+ // programatic minimize. However, for framless tool windows (e.g. dock windows)
+ // we don't want that, as it breaks translucency.
+ if (type != Qt::Tool)
+ styleMask |= NSWindowStyleMaskMiniaturizable;
} else if (flags & Qt::CustomizeWindowHint) {
if (flags & Qt::WindowTitleHint)
styleMask |= NSWindowStyleMaskTitled;