From 6e2f18c498b6d40d8184dfe05993ac6d0ba99326 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Sun, 10 Sep 2017 21:03:18 -0500 Subject: MACOS: Fix warnings about undeclared selectors When -Wundeclared-selector is enabled (recommended by Apple), the calls to the setBadgeLabel selector in MacOSXTaskbarManager are warned on because NSDockTile declarations are not included because they do not exist in macOS 10.4 and earlier. While I don't know that we are even supporting such old macOS versions these days, it is simple enough to fix this problem when compiling to modern macOS versions by conditionally including the necessary header. --- backends/platform/sdl/macosx/appmenu_osx.mm | 9 ++----- backends/platform/sdl/macosx/macosx-compat.h | 36 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 backends/platform/sdl/macosx/macosx-compat.h (limited to 'backends/platform') diff --git a/backends/platform/sdl/macosx/appmenu_osx.mm b/backends/platform/sdl/macosx/appmenu_osx.mm index 452c386607..b02d9c56b6 100644 --- a/backends/platform/sdl/macosx/appmenu_osx.mm +++ b/backends/platform/sdl/macosx/appmenu_osx.mm @@ -26,13 +26,8 @@ #include "backends/platform/sdl/macosx/appmenu_osx.h" #include "common/translation.h" -#include - -// macOS 10.12 deprecated many constants, #define the new names we need for -// older SDKs. (This approach was taken from qemu.) -#ifndef MAC_OS_X_VERSION_10_12 -#define MAC_OS_X_VERSION_10_12 101200 -#endif +#include "backends/platform/sdl/macosx/macosx-compat.h" +#include #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12 #define NSEventModifierFlagCommand NSCommandKeyMask diff --git a/backends/platform/sdl/macosx/macosx-compat.h b/backends/platform/sdl/macosx/macosx-compat.h new file mode 100644 index 0000000000..9bf1600688 --- /dev/null +++ b/backends/platform/sdl/macosx/macosx-compat.h @@ -0,0 +1,36 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef PLATFORM_SDL_MACOSX_COMPAT_H +#define PLATFORM_SDL_MACOSX_COMPAT_H + +#include + +#ifndef MAC_OS_X_VERSION_10_5 +#define MAC_OS_X_VERSION_10_5 1050 +#endif + +#ifndef MAC_OS_X_VERSION_10_12 +#define MAC_OS_X_VERSION_10_12 101200 +#endif + +#endif -- cgit v1.2.3