> Date: Sat, 1 Feb 2020 17:05:34 +0000
> From: Peter Maydell <peter.mayd...@linaro.org>
> To: qemu-devel@nongnu.org
> Cc: Gerd Hoffmann <kra...@redhat.com>
> Subject: [PATCH] ui/cocoa: Drop workarounds for pre-10.12 OSX
> Message-ID: <20200201170534.22123-1-peter.mayd...@linaro.org>
>
> Our official OSX support policy covers the last two released versions.
> Currently that is 10.14 and 10.15. We also may work on older versions, but
> don't guarantee it.
>
> In commit 50290c002c045280f8d in mid-2019 we introduced some uses of
> CLOCK_MONOTONIC which incidentally broke compilation for pre-10.12 OSX
> versions (see LP:1861551). We don't intend to fix that, so we might
> as well drop the code in ui/cocoa.m which caters for pre-10.12
> versions as well. (For reference, 10.11 fell out of Apple extended
> security support in September 2018.)
>
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
> ---
> The bug report is recent, but this was also pointed out on
> the mailing list back in June 2019. Since nobody has cared
> to try to fix it, we clearly don't care about 10.11 in
> practice as well as in theory.]
> ---
> ui/cocoa.m | 59 ------------------------------------------------------
> 1 file changed, 59 deletions(-)
>
> diff --git a/ui/cocoa.m b/ui/cocoa.m
> index fbb5b1b45f..f9945bc712 100644
> --- a/ui/cocoa.m
> +++ b/ui/cocoa.m
> @@ -42,60 +42,10 @@
> #include <Carbon/Carbon.h>
> #include "hw/core/cpu.h"
>
> -#ifndef MAC_OS_X_VERSION_10_5
> -#define MAC_OS_X_VERSION_10_5 1050
> -#endif
> -#ifndef MAC_OS_X_VERSION_10_6
> -#define MAC_OS_X_VERSION_10_6 1060
> -#endif
> -#ifndef MAC_OS_X_VERSION_10_9
> -#define MAC_OS_X_VERSION_10_9 1090
> -#endif
> -#ifndef MAC_OS_X_VERSION_10_10
> -#define MAC_OS_X_VERSION_10_10 101000
> -#endif
> -#ifndef MAC_OS_X_VERSION_10_12
> -#define MAC_OS_X_VERSION_10_12 101200
> -#endif
> #ifndef MAC_OS_X_VERSION_10_13
> #define MAC_OS_X_VERSION_10_13 101300
> #endif
>
> -/* macOS 10.12 deprecated many constants, #define the new names for older
> SDKs */
> -#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12
> -#define NSEventMaskAny NSAnyEventMask
> -#define NSEventModifierFlagCapsLock NSAlphaShiftKeyMask
> -#define NSEventModifierFlagShift NSShiftKeyMask
> -#define NSEventModifierFlagCommand NSCommandKeyMask
> -#define NSEventModifierFlagControl NSControlKeyMask
> -#define NSEventModifierFlagOption NSAlternateKeyMask
> -#define NSEventTypeFlagsChanged NSFlagsChanged
> -#define NSEventTypeKeyUp NSKeyUp
> -#define NSEventTypeKeyDown NSKeyDown
> -#define NSEventTypeMouseMoved NSMouseMoved
> -#define NSEventTypeLeftMouseDown NSLeftMouseDown
> -#define NSEventTypeRightMouseDown NSRightMouseDown
> -#define NSEventTypeOtherMouseDown NSOtherMouseDown
> -#define NSEventTypeLeftMouseDragged NSLeftMouseDragged
> -#define NSEventTypeRightMouseDragged NSRightMouseDragged
> -#define NSEventTypeOtherMouseDragged NSOtherMouseDragged
> -#define NSEventTypeLeftMouseUp NSLeftMouseUp
> -#define NSEventTypeRightMouseUp NSRightMouseUp
> -#define NSEventTypeOtherMouseUp NSOtherMouseUp
> -#define NSEventTypeScrollWheel NSScrollWheel
> -#define NSTextAlignmentCenter NSCenterTextAlignment
> -#define NSWindowStyleMaskBorderless NSBorderlessWindowMask
> -#define NSWindowStyleMaskClosable NSClosableWindowMask
> -#define NSWindowStyleMaskMiniaturizable NSMiniaturizableWindowMask
> -#define NSWindowStyleMaskTitled NSTitledWindowMask
> -#endif
> -/* 10.13 deprecates NSFileHandlingPanelOKButton in favour of
> - * NSModalResponseOK, which was introduced in 10.9. Define
> - * it for older versions.
> - */
> -#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_9
> -#define NSModalResponseOK NSFileHandlingPanelOKButton
> -#endif
> /* 10.14 deprecates NSOnState and NSOffState in favor of
> * NSControlStateValueOn/Off, which were introduced in 10.13.
> * Define for older versions
> @@ -465,11 +415,7 @@ - (void) drawRect:(NSRect) rect
> COCOA_DEBUG("QemuCocoaView: drawRect\n");
>
> // get CoreGraphic context
> -#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10
> - CGContextRef viewContextRef = [[NSGraphicsContext currentContext]
> graphicsPort];
> -#else
> CGContextRef viewContextRef = [[NSGraphicsContext currentContext]
> CGContext];
> -#endif
>
> CGContextSetInterpolationQuality (viewContextRef,
> kCGInterpolationNone);
> CGContextSetShouldAntialias (viewContextRef, NO);
> @@ -1075,9 +1021,7 @@ - (void) raiseAllKeys
> ------------------------------------------------------
> */
> @interface QemuCocoaAppController : NSObject
> -#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
> <NSWindowDelegate,
> NSApplicationDelegate>
> -#endif
> {
> }
> - (void)doToggleFullScreen:(id)sender;
> @@ -1126,9 +1070,6 @@ - (id) init
> [normalWindow setAcceptsMouseMovedEvents:YES];
> [normalWindow setTitle:@"QEMU"];
> [normalWindow setContentView:cocoaView];
> -#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10)
> - [normalWindow useOptimizedDrawing:YES];
> -#endif
> [normalWindow makeKeyAndOrderFront:self];
> [normalWindow center];
> [normalWindow setDelegate: self];
> --
> 2.17.2 (Apple Git-113)
>
>
> Why would you want to inconvenience the Mac users? This is unacceptable. I
and many other Mac users would not be able to use the newer versions of
QEMU anymore. Keeping Mac OS 10.10 and up support doesn't seem like a
burden. This patch should not be applied.