Use bridged pointers to Objective C objects in C structures

Fixes https://github.com/libsdl-org/SDL/issues/7244
This commit is contained in:
Sam Lantinga
2023-02-22 21:51:51 -08:00
parent 0fe1e9f3a7
commit 6c9e199f73
31 changed files with 150 additions and 177 deletions

View File

@@ -156,7 +156,7 @@ static void SDLCALL SDL_HideHomeIndicatorHintChanged(void *userdata, const char
displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(doLoop:)];
#ifdef __IPHONE_10_3
SDL_WindowData *data = window->driverdata;
SDL_UIKitWindowData *data = (__bridge SDL_UIKitWindowData *)window->driverdata;
if ([displayLink respondsToSelector:@selector(preferredFramesPerSecond)] && data != nil && data.uiwindow != nil && [data.uiwindow.screen respondsToSelector:@selector(maximumFramesPerSecond)]) {
displayLink.preferredFramesPerSecond = data.uiwindow.screen.maximumFramesPerSecond / animationInterval;
@@ -513,7 +513,7 @@ static SDL_uikitviewcontroller *GetWindowViewController(SDL_Window *window)
return nil;
}
SDL_WindowData *data = window->driverdata;
SDL_UIKitWindowData *data = (__bridge SDL_UIKitWindowData *)window->driverdata;
return data.viewcontroller;
}