From nobody Sun May 5 19:37:34 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1493101866306988.6631545607061; Mon, 24 Apr 2017 23:31:06 -0700 (PDT) Received: from localhost ([::1]:47278 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d2u08-000140-Jb for importer@patchew.org; Tue, 25 Apr 2017 02:31:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39206) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d2tzE-0000cw-0d for qemu-devel@nongnu.org; Tue, 25 Apr 2017 02:30:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d2tzA-0006In-2J for qemu-devel@nongnu.org; Tue, 25 Apr 2017 02:30:08 -0400 Received: from mail-pf0-x244.google.com ([2607:f8b0:400e:c00::244]:36229) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d2tz9-0006Hj-OR for qemu-devel@nongnu.org; Tue, 25 Apr 2017 02:30:03 -0400 Received: by mail-pf0-x244.google.com with SMTP id v14so6928493pfd.3 for ; Mon, 24 Apr 2017 23:30:03 -0700 (PDT) Received: from Brendans-MacBook-Pro.local.net (cpe-107-184-2-226.socal.res.rr.com. [107.184.2.226]) by smtp.gmail.com with ESMTPSA id 133sm34010740pfy.106.2017.04.24.23.29.59 (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 24 Apr 2017 23:30:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bslabs-net.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=9/oqMOCwVfgXtA1k2JzbQ2zbdMqFTcKsyhvDWy53Fiw=; b=sHQ9SVLIinV5IU0EppQEziwxsLRZlED8uWeDPva/JkgrM09OQQ3NX0hxTgNi8GQKOH wSNJY7onqPMPPw3l6Nnl0JksgyOg/RBdUnbFsGFy91gKW3EQIUXs9itcWlN4VRiI7Dv/ WXPvw6M+Dl9kV6hRezUpFqllIH3/OyiCpPqa3nQKjkyKP0RPuFCLfdX7MpwdVvnT7Kh7 UurBSHgHDUpaEO64apCDW8wt+RECT+JNLZqCQWMtCbLPS+HgvoQkd/OUdnhmK7d7/rBQ KJYEPhP1VcWePbnZ6SA9VWdPyj7MKCxLOkRyFExhFDdLayjat/WzBRQ362OZHjIAtKC2 qiaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=9/oqMOCwVfgXtA1k2JzbQ2zbdMqFTcKsyhvDWy53Fiw=; b=anCgSf4X80LWdx0InofnZ1FW5VA0raSST6RvAnn0Tbc7Y5f8wAVAOE1KzFzqmJd34r SD94Hx+31mQQC4YMBvuapSpf3eHWro/ALnK3Y+VNM1xrLkTQiEsADA1+WlP4ZZyKYjEo zfFfmsfutic+uxhgq65pktm4KNdTmhsjxyzgJooiDXLHnzvdk2yRyPa/JyN93FtbpzXh QZTfRjBMhdpdKskUwqYijPqMGTcHQSYUrUv6ldZXwXfMbcpZIi/U5NSTuKPpnzBXGf5z yKdFReyiY+lEKZdg+kcxc65ddapNqCo9dpHH739dQVcpdbOeYwH79hrCVxR2K0Ctp3dF mYfQ== X-Gm-Message-State: AN3rC/7qDzm+5ErvNiPlQMp5NRP2wihGDEF09H3shhVDFBWGqlbNc51X MloCeLGtQTAtZA== X-Received: by 10.84.228.207 with SMTP id y15mr37122742pli.168.1493101802270; Mon, 24 Apr 2017 23:30:02 -0700 (PDT) From: Brendan Shanks To: qemu-devel@nongnu.org Date: Mon, 24 Apr 2017 23:29:52 -0700 Message-Id: <20170425062952.99149-1-brendan@bslabs.net> X-Mailer: git-send-email 2.11.0 (Apple Git-81) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::244 Subject: [Qemu-devel] [PATCH] ui/cocoa.m: Fix macOS 10.12 deprecation warnings X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Gerd Hoffmann , Brendan Shanks Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" macOS 10.12 deprecated/replaced many AppKit constants to make naming more consistent. Use the new constants, and #define them to the old constants when compiling against a pre-10.12 SDK. Signed-off-by: Brendan Shanks --- ui/cocoa.m | 87 +++++++++++++++++++++++++++++++++++++++++-----------------= ---- 1 file changed, 58 insertions(+), 29 deletions(-) diff --git a/ui/cocoa.m b/ui/cocoa.m index c81f7b6183..207555edf7 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -45,7 +45,36 @@ #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 =20 +/* 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 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 =20 //#define DEBUG =20 @@ -494,7 +523,7 @@ - (void) toggleFullScreen:(id)sender } else { [NSMenu setMenuBarVisible:NO]; fullScreenWindow =3D [[NSWindow alloc] initWithContentRect:[[N= SScreen mainScreen] frame] - styleMask:NSBorderlessWindowMask + styleMask:NSWindowStyleMaskBorderless backing:NSBackingStoreBuffered defer:NO]; [fullScreenWindow setAcceptsMouseMovedEvents: YES]; @@ -517,7 +546,7 @@ - (void) handleEvent:(NSEvent *)event NSPoint p =3D [event locationInWindow]; =20 switch ([event type]) { - case NSFlagsChanged: + case NSEventTypeFlagsChanged: keycode =3D cocoa_keycode_to_qemu([event keyCode]); =20 if ((keycode =3D=3D Q_KEY_CODE_META_L || keycode =3D=3D Q_KEY_= CODE_META_R) @@ -544,15 +573,15 @@ - (void) handleEvent:(NSEvent *)event } =20 // release Mouse grab when pressing ctrl+alt - if (([event modifierFlags] & NSControlKeyMask) && ([event modi= fierFlags] & NSAlternateKeyMask)) { + if (([event modifierFlags] & NSEventModifierFlagControl) && ([= event modifierFlags] & NSEventModifierFlagOption)) { [self ungrabMouse]; } break; - case NSKeyDown: + case NSEventTypeKeyDown: keycode =3D cocoa_keycode_to_qemu([event keyCode]); =20 // forward command key combos to the host UI unless the mouse = is grabbed - if (!isMouseGrabbed && ([event modifierFlags] & NSCommandKeyMa= sk)) { + if (!isMouseGrabbed && ([event modifierFlags] & NSEventModifie= rFlagCommand)) { [NSApp sendEvent:event]; return; } @@ -560,7 +589,7 @@ - (void) handleEvent:(NSEvent *)event // default =20 // handle control + alt Key Combos (ctrl+alt is reserved for Q= EMU) - if (([event modifierFlags] & NSControlKeyMask) && ([event modi= fierFlags] & NSAlternateKeyMask)) { + if (([event modifierFlags] & NSEventModifierFlagControl) && ([= event modifierFlags] & NSEventModifierFlagOption)) { switch (keycode) { =20 // enable graphic console @@ -609,12 +638,12 @@ - (void) handleEvent:(NSEvent *)event kbd_put_keysym(keysym); } break; - case NSKeyUp: + case NSEventTypeKeyUp: keycode =3D cocoa_keycode_to_qemu([event keyCode]); =20 // don't pass the guest a spurious key-up if we treated this // command-key combo as a host UI action - if (!isMouseGrabbed && ([event modifierFlags] & NSCommandKeyMa= sk)) { + if (!isMouseGrabbed && ([event modifierFlags] & NSEventModifie= rFlagCommand)) { return; } =20 @@ -622,7 +651,7 @@ - (void) handleEvent:(NSEvent *)event qemu_input_event_send_key_qcode(dcl->con, keycode, false); } break; - case NSMouseMoved: + case NSEventTypeMouseMoved: if (isAbsoluteEnabled) { if (![self screenContainsPoint:p] || ![[self window] isKey= Window]) { if (isMouseGrabbed) { @@ -636,39 +665,39 @@ - (void) handleEvent:(NSEvent *)event } mouse_event =3D true; break; - case NSLeftMouseDown: - if ([event modifierFlags] & NSCommandKeyMask) { + case NSEventTypeLeftMouseDown: + if ([event modifierFlags] & NSEventModifierFlagCommand) { buttons |=3D MOUSE_EVENT_RBUTTON; } else { buttons |=3D MOUSE_EVENT_LBUTTON; } mouse_event =3D true; break; - case NSRightMouseDown: + case NSEventTypeRightMouseDown: buttons |=3D MOUSE_EVENT_RBUTTON; mouse_event =3D true; break; - case NSOtherMouseDown: + case NSEventTypeOtherMouseDown: buttons |=3D MOUSE_EVENT_MBUTTON; mouse_event =3D true; break; - case NSLeftMouseDragged: - if ([event modifierFlags] & NSCommandKeyMask) { + case NSEventTypeLeftMouseDragged: + if ([event modifierFlags] & NSEventModifierFlagCommand) { buttons |=3D MOUSE_EVENT_RBUTTON; } else { buttons |=3D MOUSE_EVENT_LBUTTON; } mouse_event =3D true; break; - case NSRightMouseDragged: + case NSEventTypeRightMouseDragged: buttons |=3D MOUSE_EVENT_RBUTTON; mouse_event =3D true; break; - case NSOtherMouseDragged: + case NSEventTypeOtherMouseDragged: buttons |=3D MOUSE_EVENT_MBUTTON; mouse_event =3D true; break; - case NSLeftMouseUp: + case NSEventTypeLeftMouseUp: mouse_event =3D true; if (!isMouseGrabbed && [self screenContainsPoint:p]) { if([[self window] isKeyWindow]) { @@ -676,13 +705,13 @@ - (void) handleEvent:(NSEvent *)event } } break; - case NSRightMouseUp: + case NSEventTypeRightMouseUp: mouse_event =3D true; break; - case NSOtherMouseUp: + case NSEventTypeOtherMouseUp: mouse_event =3D true; break; - case NSScrollWheel: + case NSEventTypeScrollWheel: if (isMouseGrabbed) { buttons |=3D ([event deltaY] < 0) ? MOUSE_EVENT_WHEELUP : MOUSE_EVENT_WHEELDN; @@ -847,7 +876,7 @@ - (id) init =20 // create a window normalWindow =3D [[NSWindow alloc] initWithContentRect:[cocoaView = frame] - styleMask:NSTitledWindowMask|NSMiniaturizableWindowMask|NSClos= ableWindowMask + styleMask:NSWindowStyleMaskTitled|NSWindowStyleMaskMiniaturiza= ble|NSWindowStyleMaskClosable backing:NSBackingStoreBuffered defer:NO]; if(!normalWindow) { fprintf(stderr, "(cocoa) can't create window\n"); @@ -1152,8 +1181,8 @@ - (void)make_about_window int x =3D 0, y =3D 0, about_width =3D 400, about_height =3D 200; NSRect window_rect =3D NSMakeRect(x, y, about_width, about_height); about_window =3D [[NSWindow alloc] initWithContentRect:window_rect - styleMask:NSTitledWindowMask | NSClosableWindowMask | - NSMiniaturizableWindowMask + styleMask:NSWindowStyleMaskTitled | NSWindowStyleMaskC= losable | + NSWindowStyleMaskMiniaturizable backing:NSBackingStoreBuffered defer:NO]; [about_window setTitle: @"About"]; @@ -1192,7 +1221,7 @@ - (void)make_about_window [name_label setEditable: NO]; [name_label setBezeled: NO]; [name_label setDrawsBackground: NO]; - [name_label setAlignment: NSCenterTextAlignment]; + [name_label setAlignment: NSTextAlignmentCenter]; NSString *qemu_name =3D [[NSString alloc] initWithCString: gArgv[0] encoding: NSASCIIStringEncodin= g]; qemu_name =3D [qemu_name lastPathComponent]; @@ -1208,7 +1237,7 @@ - (void)make_about_window version_rect]; [version_label setEditable: NO]; [version_label setBezeled: NO]; - [version_label setAlignment: NSCenterTextAlignment]; + [version_label setAlignment: NSTextAlignmentCenter]; [version_label setDrawsBackground: NO]; =20 /* Create the version string*/ @@ -1228,7 +1257,7 @@ - (void)make_about_window [copyright_label setEditable: NO]; [copyright_label setBezeled: NO]; [copyright_label setDrawsBackground: NO]; - [copyright_label setAlignment: NSCenterTextAlignment]; + [copyright_label setAlignment: NSTextAlignmentCenter]; [copyright_label setStringValue: [NSString stringWithFormat: @"%s", QEMU_COPYRIGHT]]; [superView addSubview: copyright_label]; @@ -1285,7 +1314,7 @@ int main (int argc, const char * argv[]) { [menu addItem:[NSMenuItem separatorItem]]; //Separator [menu addItemWithTitle:@"Hide QEMU" action:@selector(hide:) keyEquival= ent:@"h"]; //Hide QEMU menuItem =3D (NSMenuItem *)[menu addItemWithTitle:@"Hide Others" actio= n:@selector(hideOtherApplications:) keyEquivalent:@"h"]; // Hide Others - [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKe= yMask)]; + [menuItem setKeyEquivalentModifierMask:(NSEventModifierFlagOption|NSEv= entModifierFlagCommand)]; [menu addItemWithTitle:@"Show All" action:@selector(unhideAllApplicati= ons:) keyEquivalent:@""]; // Show All [menu addItem:[NSMenuItem separatorItem]]; //Separator [menu addItemWithTitle:@"Quit QEMU" action:@selector(terminate:) keyEq= uivalent:@"q"]; @@ -1399,7 +1428,7 @@ static void cocoa_refresh(DisplayChangeListener *dcl) NSEvent *event; distantPast =3D [NSDate distantPast]; do { - event =3D [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:di= stantPast + event =3D [NSApp nextEventMatchingMask:NSEventMaskAny untilDate:di= stantPast inMode: NSDefaultRunLoopMode dequeue:YES]; if (event !=3D nil) { [cocoaView handleEvent:event]; --=20 2.11.0 (Apple Git-81)