> 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.

Reply via email to