From e71a5d5cc3c0337e7dbd5d571ecee5668baf8b63 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Thu, 8 Jul 2021 11:34:00 +0200 Subject: macOS: Don't make frameless tool windows miniaturizable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Pick-to: 6.2 6.1 5.15 Fixes: QTBUG-95042 Task-number: QTBUG-65637 Change-Id: I651196e3cf8a9c59b250e5f1b4064cc4ded02372 Reviewed-by: Richard Moe Gustavsen Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/cocoa/qcocoawindow.mm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/plugins/platforms/cocoa/qcocoawindow.mm') 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; -- cgit v1.2.3