diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2021-09-14 18:26:40 +0200 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2021-11-01 13:06:30 +0000 |
commit | 1d5a2e924bfda9cf5eb8118812cb4652b97178b7 (patch) | |
tree | 3c7bea1abcba27fbda68985da6c6a4d9e88f5187 /src/gui/image/qppmhandler.cpp | |
parent | 13811a19d6bc7a63d5827e22b3ae2c006483b227 (diff) |
macOS: Compute NSWindow background color without checking styleMask
The check for styleMask == NSWindowStyleMaskBorderless to decide whether
to clear the NSWindow background was broken, as NSWindowStyleMaskBorderless
has the value 0, but is only supposed to be compared to its companion
NSWindowStyleMaskTitled (with value 1). A window can perfectly well be
NSWindowStyleMaskBorderless and NSWindowStyleMaskMiniaturizable e.g.,
so by comparing directly to NSWindowStyleMaskBorderless instead of
masking to the first bit first we ended up making miniaturizable
windows non-translucent.
We now check the Qt::FramelessWindowHint directly, and also whether
the window is opaque. Ideally we'd have QWindow flags that could
plumb WA_NoSystemBackground from Qt Widgets, as well as a background
color property on QWindow to control the system background, but
in the meantime we'll have to use the FramelessWindowHint heuristic.
The QWidget docs have been updated to reflect this.
Task-number: QTBUG-95042
Change-Id: I0d40eecace60883c205ebb8c76cef1092cdf1144
(cherry picked from commit 2f6d572dad031d2757a0f307cba56ae7b01c390a)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/gui/image/qppmhandler.cpp')
0 files changed, 0 insertions, 0 deletions