Fix mouse wheel events on macOS 10.12 (thanks Eric Wasylishen!) Fixes bug #3432
diff --git a/src/video/cocoa/SDL_cocoamouse.m b/src/video/cocoa/SDL_cocoamouse.m
index aa753fc..0a27549 100644
--- a/src/video/cocoa/SDL_cocoamouse.m
+++ b/src/video/cocoa/SDL_cocoamouse.m
@@ -421,8 +421,8 @@ Cocoa_HandleMouseWheel(SDL_Window *window, NSEvent *event)
{
SDL_Mouse *mouse = SDL_GetMouse();
- float x = -[event deltaX];
- float y = [event deltaY];
+ CGFloat x = -[event deltaX];
+ CGFloat y = [event deltaY];
SDL_MouseWheelDirection direction = SDL_MOUSEWHEEL_NORMAL;
if ([event respondsToSelector:@selector(isDirectionInvertedFromDevice)]) {
@@ -432,14 +432,14 @@ Cocoa_HandleMouseWheel(SDL_Window *window, NSEvent *event)
}
if (x > 0) {
- x += 0.9f;
+ x = SDL_ceil(x);
} else if (x < 0) {
- x -= 0.9f;
+ x = SDL_floor(x);
}
if (y > 0) {
- y += 0.9f;
+ y = SDL_ceil(y);
} else if (y < 0) {
- y -= 0.9f;
+ y = SDL_floor(y);
}
SDL_SendMouseWheel(window, mouse->mouseID, (int)x, (int)y, direction);
}