diff --git a/osdep/macosx_application.m b/osdep/macosx_application.m index 665a04b22271..f3fb5db3a509 100644 --- a/osdep/macosx_application.m +++ b/osdep/macosx_application.m @@ -24,6 +24,7 @@ #include "core/input/keycodes.h" #include "osdep/macosx_application_objc.h" +#include "osdep/macosx_compat.h" static pthread_t playback_thread_id; diff --git a/osdep/macosx_compat.h b/osdep/macosx_compat.h new file mode 100644 index 000000000000..f248538619da --- /dev/null +++ b/osdep/macosx_compat.h @@ -0,0 +1,57 @@ +/* + * Application Event Handling + * + * This file is part of mpv. + * + * mpv 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. + * + * mpv 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 mpv. If not, see . + */ + + +#ifndef MPV_MACOSX_COMPAT +#define MPV_MACOSX_COMPAT + +#import + +#if !defined(MAC_OS_X_VERSION_10_8) +# define MAC_OS_X_VERSION_10_8 MAC_OS_X_VERSION_10_7 + 1 +#endif + +#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8) +@interface NSArray (SubscriptingAdditions) +- (id)objectAtIndexedSubscript:(NSUInteger)index; +@end + +@interface NSMutableArray (SubscriptingAdditions) +- (void)setObject: (id)object atIndexedSubscript:(NSUInteger)index; +@end + +@interface NSDictionary (SubscriptingAdditions) +- (id)objectForKeyedSubscript:(id)key; +@end + +@interface NSMutableDictionary (SubscriptingAdditions) +- (void)setObject: (id)object forKeyedSubscript:(id)key; +@end + +#if __has_feature(objc_bool) + #define YES __objc_yes + #define NO __objc_no +#else + #define YES ((BOOL)1) + #define NO ((BOOL)0) +#endif + +#endif + +#endif /* MPV_MACOSX_COMPAT */ diff --git a/osdep/macosx_events.m b/osdep/macosx_events.m index ebeb260221ed..9a27f7049b61 100644 --- a/osdep/macosx_events.m +++ b/osdep/macosx_events.m @@ -30,8 +30,10 @@ #include "core/mp_fifo.h" // doesn't make much sense, but needed to access keymap functionality #include "video/out/vo.h" -#include "osdep/macosx_events.h" + #import "osdep/macosx_application_objc.h" +#include "osdep/macosx_events.h" +#include "osdep/macosx_compat.h" #define NSLeftAlternateKeyMask (0x000020 | NSAlternateKeyMask) #define NSRightAlternateKeyMask (0x000040 | NSAlternateKeyMask) diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index b5de22f951df..0e61b7ea7187 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -38,6 +38,7 @@ #include "osdep/macosx_application.h" #include "osdep/macosx_events.h" +#include "osdep/macosx_compat.h" @interface GLMPlayerWindow : NSWindow - (BOOL)canBecomeKeyWindow;