[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 02/12] ui/cocoa: Fix window clipping on macOS 14
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 02/12] ui/cocoa: Fix window clipping on macOS 14 |
Date: |
Tue, 5 Mar 2024 12:05:57 +0100 |
From: David Parsons <dave@daveparsons.net>
macOS Sonoma changes the NSView.clipsToBounds to false by default
where it was true in earlier version of macOS. This causes the window
contents to be occluded by the frame at the top of the window. This
fixes the issue by conditionally compiling the clipping on Sonoma to
true. NSView only exposes the clipToBounds in macOS 14 and so has
to be fixed via conditional compilation.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1994
Signed-off-by: David Parsons <dave@daveparsons.net>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20240224140620.39200-1-dave@daveparsons.net>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
ui/cocoa.m | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/ui/cocoa.m b/ui/cocoa.m
index b7ca0ed94b..5618d294c4 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -54,6 +54,10 @@
#define MAC_OS_X_VERSION_10_13 101300
#endif
+#ifndef MAC_OS_VERSION_14_0
+#define MAC_OS_VERSION_14_0 140000
+#endif
+
/* 10.14 deprecates NSOnState and NSOffState in favor of
* NSControlStateValueOn/Off, which were introduced in 10.13.
* Define for older versions
@@ -366,6 +370,9 @@ - (id)initWithFrame:(NSRect)frameRect
screen.width = frameRect.size.width;
screen.height = frameRect.size.height;
kbd = qkbd_state_init(dcl.con);
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_14_0
+ [self setClipsToBounds:YES];
+#endif
}
return self;
--
2.41.0
- [PULL 00/12] Cocoa patches for 2024-03-05, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 02/12] ui/cocoa: Fix window clipping on macOS 14,
Philippe Mathieu-Daudé <=
- [PULL 03/12] ui/cocoa: Split [-QemuCocoaView handleEventLocked:], Philippe Mathieu-Daudé, 2024/03/05
- [PULL 06/12] ui/cocoa: Scale with NSView instead of Core Graphics, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 04/12] ui/cocoa: Immediately call [-QemuCocoaView handleMouseEvent:buttons:], Philippe Mathieu-Daudé, 2024/03/05
- [PULL 01/12] ui/cocoa: add zoom-interpolation display option, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 07/12] ui/cocoa: Fix pause label coordinates, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 05/12] ui/cocoa: Release specific mouse buttons, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 08/12] ui/cocoa: Let the platform toggle fullscreen, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 09/12] ui/cocoa: Remove normalWindow, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 10/12] ui/cocoa: Make window resizable, Philippe Mathieu-Daudé, 2024/03/05
- [PULL 11/12] ui/cocoa: Call console_select() with the BQL, Philippe Mathieu-Daudé, 2024/03/05