From 2ec55fd974a63b705a4777c256d2222c874fa043 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 31 Jan 2019 18:38:35 +0800 Subject: *SDL project --- Source/3rdParty/SDL2/src/video/cocoa/SDL_cocoamousetap.m | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Source/3rdParty/SDL2/src/video/cocoa/SDL_cocoamousetap.m') diff --git a/Source/3rdParty/SDL2/src/video/cocoa/SDL_cocoamousetap.m b/Source/3rdParty/SDL2/src/video/cocoa/SDL_cocoamousetap.m index 3c4fcf2..aa4f152 100644 --- a/Source/3rdParty/SDL2/src/video/cocoa/SDL_cocoamousetap.m +++ b/Source/3rdParty/SDL2/src/video/cocoa/SDL_cocoamousetap.m @@ -211,7 +211,7 @@ Cocoa_InitMouseEventTap(SDL_MouseData* driverdata) tapdata->thread = SDL_CreateThreadInternal(&Cocoa_MouseTapThread, "Event Tap Loop", 512 * 1024, tapdata); if (tapdata->thread) { /* Success - early out. Ownership transferred to thread. */ - return; + return; } CFRelease(tapdata->tap); } @@ -237,6 +237,13 @@ Cocoa_QuitMouseEventTap(SDL_MouseData *driverdata) SDL_MouseEventTapData *tapdata = (SDL_MouseEventTapData*)driverdata->tapdata; int status; + if (tapdata == NULL) { + /* event tap was already cleaned up (possibly due to CGEventTapCreate + * returning null.) + */ + return; + } + /* Ensure that the runloop has been started first. * TODO: Move this to InitMouseEventTap, check for error conditions that can * happen in Cocoa_MouseTapThread, and fall back to the non-EventTap way of -- cgit v1.1-26-g67d0