Navigation Menu

Skip to content

Commit

Permalink
cocoa: Patched to compile and also handle possible malloc failure.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Jun 18, 2019
1 parent 3e720d2 commit d3bedda
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/video/cocoa/SDL_cocoamouse.h
Expand Up @@ -25,7 +25,7 @@

#include "SDL_cocoavideo.h"

extern void Cocoa_InitMouse(_THIS);
extern int Cocoa_InitMouse(_THIS);
extern void Cocoa_HandleMouseEvent(_THIS, NSEvent * event);
extern void Cocoa_HandleMouseWheel(SDL_Window *window, NSEvent * event);
extern void Cocoa_HandleMouseWarp(CGFloat x, CGFloat y);
Expand Down
16 changes: 10 additions & 6 deletions src/video/cocoa/SDL_cocoamouse.m
Expand Up @@ -327,13 +327,16 @@ + (NSCursor *)invisibleCursor
return retval;
}

void
int
Cocoa_InitMouse(_THIS)
{
SDL_Mouse *mouse = SDL_GetMouse();
SDL_MouseData *driverdata = (SDL_MouseData*) SDL_calloc(1, sizeof(SDL_MouseData));
if (driverdata == NULL) {
return SDL_OutOfMemory();
}

mouse->driverdata = SDL_calloc(1, sizeof(SDL_MouseData));

mouse->driverdata = driverdata;
mouse->CreateCursor = Cocoa_CreateCursor;
mouse->CreateSystemCursor = Cocoa_CreateSystemCursor;
mouse->ShowCursor = Cocoa_ShowCursor;
Expand All @@ -346,11 +349,12 @@ + (NSCursor *)invisibleCursor

SDL_SetDefaultCursor(Cocoa_CreateDefaultCursor());

Cocoa_InitMouseEventTap(mouse->driverdata);
Cocoa_InitMouseEventTap(driverdata);

const NSPoint location = [NSEvent mouseLocation];
mouse->driverdata->lastMoveX = location.x;
mouse->driverdata->lastMoveY = location.y;
driverdata->lastMoveX = location.x;
driverdata->lastMoveY = location.y;
return 0;
}

void
Expand Down
4 changes: 3 additions & 1 deletion src/video/cocoa/SDL_cocoavideo.m
Expand Up @@ -168,7 +168,9 @@

Cocoa_InitModes(_this);
Cocoa_InitKeyboard(_this);
Cocoa_InitMouse(_this);
if (Cocoa_InitMouse(_this) < 0) {
return -1;
}

data->allow_spaces = ((floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_6) && SDL_GetHintBoolean(SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES, SDL_TRUE));

Expand Down

0 comments on commit d3bedda

Please sign in to comment.