mirror of https://github.com/encounter/SDL.git
Fix Main Thread Checker warning on macOS
Cache off NSWindow's windowNumber in SDL_WindowData on setup and use that in `Cocoa_SendWakeupEvent` to prevent accessing windowNumber off the main thread.
This commit is contained in:
parent
31d38f2f30
commit
1f276a5148
|
@ -549,13 +549,11 @@ Cocoa_PumpEvents(_THIS)
|
|||
void Cocoa_SendWakeupEvent(_THIS, SDL_Window *window)
|
||||
{ @autoreleasepool
|
||||
{
|
||||
NSWindow *nswindow = ((__bridge SDL_WindowData *) window->driverdata).nswindow;
|
||||
|
||||
NSEvent* event = [NSEvent otherEventWithType: NSEventTypeApplicationDefined
|
||||
location: NSMakePoint(0,0)
|
||||
modifierFlags: 0
|
||||
timestamp: 0.0
|
||||
windowNumber: nswindow.windowNumber
|
||||
windowNumber: ((__bridge SDL_WindowData *) window->driverdata).window_number
|
||||
context: nil
|
||||
subtype: 0
|
||||
data1: 0
|
||||
|
|
|
@ -126,6 +126,7 @@ typedef enum
|
|||
@property (nonatomic) NSMutableArray *nscontexts;
|
||||
@property (nonatomic) SDL_bool created;
|
||||
@property (nonatomic) SDL_bool inWindowFullscreenTransition;
|
||||
@property (nonatomic) NSInteger window_number;
|
||||
@property (nonatomic) NSInteger flash_request;
|
||||
@property (nonatomic) Cocoa_WindowListener *listener;
|
||||
@property (nonatomic) SDL_VideoData *videodata;
|
||||
|
|
|
@ -1615,6 +1615,7 @@ SetupWindowData(_THIS, SDL_Window * window, NSWindow *nswindow, NSView *nsview,
|
|||
data.nswindow = nswindow;
|
||||
data.created = created;
|
||||
data.videodata = videodata;
|
||||
data.window_number = nswindow.windowNumber;
|
||||
data.nscontexts = [[NSMutableArray alloc] init];
|
||||
data.sdlContentView = nsview;
|
||||
|
||||
|
|
Loading…
Reference in New Issue