From c9c89783cb4609ab5918e473870c397f96f8f6b1 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 29 Jan 2020 20:09:08 -0800 Subject: [PATCH] Miscellaneous pending fixes --- .../libsdl/app/HIDDeviceBLESteamController.java | 14 +++++++------- .../src/main/java/org/libsdl/app/SDLActivity.java | 5 ++++- src/hidapi/ios/hid.m | 1 + src/joystick/iphoneos/SDL_sysjoystick.m | 4 +++- src/video/cocoa/SDL_cocoaevents.m | 1 + src/video/cocoa/SDL_cocoametalview.h | 8 +++++--- src/video/cocoa/SDL_cocoavulkan.m | 1 - src/video/uikit/SDL_uikitviewcontroller.m | 4 ++-- 8 files changed, 23 insertions(+), 15 deletions(-) diff --git a/android-project/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java b/android-project/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java index dcc4ffe0d..94a28189b 100644 --- a/android-project/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java +++ b/android-project/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java @@ -166,13 +166,13 @@ class HIDDeviceBLESteamController extends BluetoothGattCallback implements HIDDe mHandler = new Handler(Looper.getMainLooper()); mGatt = connectGatt(); - final HIDDeviceBLESteamController finalThis = this; - mHandler.postDelayed(new Runnable() { - @Override - public void run() { - finalThis.checkConnectionForChromebookIssue(); - } - }, CHROMEBOOK_CONNECTION_CHECK_INTERVAL); + // final HIDDeviceBLESteamController finalThis = this; + // mHandler.postDelayed(new Runnable() { + // @Override + // public void run() { + // finalThis.checkConnectionForChromebookIssue(); + // } + // }, CHROMEBOOK_CONNECTION_CHECK_INTERVAL); } public String getIdentifier() { diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java index b34415668..95a14e6d4 100644 --- a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java +++ b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java @@ -730,7 +730,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh } } - if (bShouldWait) { + if (bShouldWait && (SDLActivity.getContext() != null)) { // We'll wait for the surfaceChanged() method, which will notify us // when called. That way, we know our current size is really the // size we need, instead of grabbing a size that's still got @@ -1026,6 +1026,9 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh * This method is called by SDL using JNI. */ public static boolean isChromebook() { + if (getContext() == null) { + return false; + } return getContext().getPackageManager().hasSystemFeature("org.chromium.arc.device_management"); } diff --git a/src/hidapi/ios/hid.m b/src/hidapi/ios/hid.m index a0ca7cd02..504a994b1 100644 --- a/src/hidapi/ios/hid.m +++ b/src/hidapi/ios/hid.m @@ -282,6 +282,7 @@ typedef enum NSLog( @"connected peripheral: %@", peripheral ); if ( [peripheral.name isEqualToString:@"SteamController"] ) { + self.nPendingPairs += 1; HIDBLEDevice *steamController = [[HIDBLEDevice alloc] initWithPeripheral:peripheral]; [self.deviceMap setObject:steamController forKey:peripheral]; [self.centralManager connectPeripheral:peripheral options:nil]; diff --git a/src/joystick/iphoneos/SDL_sysjoystick.m b/src/joystick/iphoneos/SDL_sysjoystick.m index 60c508a17..a57894877 100644 --- a/src/joystick/iphoneos/SDL_sysjoystick.m +++ b/src/joystick/iphoneos/SDL_sysjoystick.m @@ -24,7 +24,7 @@ #include "SDL_sysjoystick_c.h" /* needed for SDL_IPHONE_MAX_GFORCE macro */ -#include "SDL_config_iphoneos.h" +#include "../../../include/SDL_config_iphoneos.h" #include "SDL_assert.h" #include "SDL_events.h" @@ -131,7 +131,9 @@ IOS_AddMFIJoystickDevice(SDL_JoystickDeviceItem *device, GCController *controlle GCExtendedGamepad *gamepad = controller.extendedGamepad; BOOL is_xbox = [controller.vendorName containsString: @"Xbox"]; BOOL is_ps4 = [controller.vendorName containsString: @"DUALSHOCK"]; +#if TARGET_OS_TV BOOL is_MFi = (!is_xbox && !is_ps4); +#endif int nbuttons = 0; /* These buttons are part of the original MFi spec */ diff --git a/src/video/cocoa/SDL_cocoaevents.m b/src/video/cocoa/SDL_cocoaevents.m index 09d2351ea..d2a5b98c1 100644 --- a/src/video/cocoa/SDL_cocoaevents.m +++ b/src/video/cocoa/SDL_cocoaevents.m @@ -21,6 +21,7 @@ #include "../../SDL_internal.h" #if SDL_VIDEO_DRIVER_COCOA + #include "SDL_timer.h" #include "SDL_cocoavideo.h" diff --git a/src/video/cocoa/SDL_cocoametalview.h b/src/video/cocoa/SDL_cocoametalview.h index 476f9ccad..4dc5fa9f4 100644 --- a/src/video/cocoa/SDL_cocoametalview.h +++ b/src/video/cocoa/SDL_cocoametalview.h @@ -24,15 +24,17 @@ * Thanks to Alex Szpakowski, @slime73 on GitHub, for his gist showing * how to add a CAMetalLayer backed view. */ +#include "../../SDL_internal.h" #ifndef SDL_cocoametalview_h_ #define SDL_cocoametalview_h_ -#import "../SDL_sysvideo.h" -#import "SDL_cocoawindow.h" - #if SDL_VIDEO_DRIVER_COCOA && (SDL_VIDEO_VULKAN || SDL_VIDEO_METAL) +#import "../SDL_sysvideo.h" + +#import "SDL_cocoawindow.h" + #import #import #import diff --git a/src/video/cocoa/SDL_cocoavulkan.m b/src/video/cocoa/SDL_cocoavulkan.m index f903945a9..af41b9e19 100644 --- a/src/video/cocoa/SDL_cocoavulkan.m +++ b/src/video/cocoa/SDL_cocoavulkan.m @@ -23,7 +23,6 @@ * @author Mark Callow, www.edgewise-consulting.com. Based on Jacob Lifshay's * SDL_x11vulkan.c. */ - #include "../../SDL_internal.h" #if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_COCOA diff --git a/src/video/uikit/SDL_uikitviewcontroller.m b/src/video/uikit/SDL_uikitviewcontroller.m index 8c050a029..fcb27fff9 100644 --- a/src/video/uikit/SDL_uikitviewcontroller.m +++ b/src/video/uikit/SDL_uikitviewcontroller.m @@ -341,8 +341,8 @@ SDL_HideHomeIndicatorHintChanged(void *userdata, const char *name, const char *o rotatingOrientation = YES; [coordinator animateAlongsideTransition:^(id context) {} completion:^(id context) { - rotatingOrientation = NO; - }]; + self->rotatingOrientation = NO; + }]; } #else - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {