From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: libvir-list@redhat.com, Paolo Bonzini <pbonzini@redhat.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Brendan Shanks <brendan@bslabs.net>
Subject: [Qemu-devel] [PULL 05/14] ui/cocoa.m: Fix macOS 10.14 deprecation warnings
Date: Tue, 5 Feb 2019 11:57:49 +0100 [thread overview]
Message-ID: <20190205105758.4230-6-kraxel@redhat.com> (raw)
In-Reply-To: <20190205105758.4230-1-kraxel@redhat.com>
From: Brendan Shanks <brendan@bslabs.net>
macOS 10.14 deprecated NSOnState/NSOffState in favour of
NSControlStateValueOn/NSControlStateValueOff. Use the new constants,
and #define them to the old ones when compiling against a pre-10.13 SDK.
Also [NSGraphicsContext graphicsPort] is now deprecated, use
[NSGraphicsContext CGContext] when available.
Signed-off-by: Brendan Shanks <brendan@bslabs.net>
Message-id: 20190201071225.20576-1-brendan@bslabs.net
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
ui/cocoa.m | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/ui/cocoa.m b/ui/cocoa.m
index ddc058e76e..e2567d6946 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -54,6 +54,9 @@
#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
@@ -90,6 +93,14 @@
#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
+ */
+#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_13
+#define NSControlStateValueOn NSOnState
+#define NSControlStateValueOff NSOffState
+#endif
//#define DEBUG
@@ -377,7 +388,12 @@ QemuCocoaView *cocoaView;
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);
@@ -1147,9 +1163,9 @@ QemuCocoaView *cocoaView;
{
stretch_video = !stretch_video;
if (stretch_video == true) {
- [sender setState: NSOnState];
+ [sender setState: NSControlStateValueOn];
} else {
- [sender setState: NSOffState];
+ [sender setState: NSControlStateValueOff];
}
}
@@ -1390,15 +1406,15 @@ QemuCocoaView *cocoaView;
{
/* Unselect the currently selected item */
for (NSMenuItem *item in [menu itemArray]) {
- if (item.state == NSOnState) {
- [item setState: NSOffState];
+ if (item.state == NSControlStateValueOn) {
+ [item setState: NSControlStateValueOff];
break;
}
}
}
// check the menu item
- [sender setState: NSOnState];
+ [sender setState: NSControlStateValueOn];
// get the throttle percentage
throttle_pct = [sender tag];
@@ -1502,7 +1518,7 @@ int main (int argc, const char * argv[]) {
initWithTitle: [NSString stringWithFormat: @"%d%%", percentage] action:@selector(adjustSpeed:) keyEquivalent:@""] autorelease];
if (percentage == 100) {
- [menuItem setState: NSOnState];
+ [menuItem setState: NSControlStateValueOn];
}
/* Calculate the throttle percentage */
--
2.9.3
next prev parent reply other threads:[~2019-02-05 10:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-05 10:57 [Qemu-devel] [PULL 00/14] Ui 20190205 patches Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 01/14] Remove deprecated -no-frame option Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 02/14] ui: don't send any event if delta_y == 0 Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 03/14] ui: listen for GDK_SMOOTH_SCROLL events Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 04/14] ui/sdl_keysym: Remove obsolete SDL1.2 related code Gerd Hoffmann
2019-02-05 10:57 ` Gerd Hoffmann [this message]
2019-02-05 10:57 ` [Qemu-devel] [PULL 06/14] ui/egl-helpers: Augment parameter list of egl_texture_blend() to convey scales of viewport Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 07/14] kbd-state: add keyboard state tracker Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 08/14] sdl2: remove sdl2_reset_keys() function Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 09/14] kbd-state: use state tracker for sdl2 Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 10/14] sdl2: use only QKeyCode in sdl2_process_key() Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 11/14] kbd-state: use state tracker for gtk Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 12/14] kbd-state: use state tracker for vnc Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 13/14] keymap: pass full keyboard state to keysym2scancode Gerd Hoffmann
2019-02-05 10:57 ` [Qemu-devel] [PULL 14/14] keymap: fix keyup mappings Gerd Hoffmann
2019-02-05 16:51 ` [Qemu-devel] [PULL 00/14] Ui 20190205 patches Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190205105758.4230-6-kraxel@redhat.com \
--to=kraxel@redhat.com \
--cc=brendan@bslabs.net \
--cc=libvir-list@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).