mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-10-03 16:36:25 +00:00
Added a workaround for fullscreen mouse position on macOS 26
This commit is contained in:
@@ -1862,6 +1862,19 @@ static void Cocoa_SendMouseButtonClicks(SDL_Mouse *mouse, NSEvent *theEvent, SDL
|
|||||||
x = point.x;
|
x = point.x;
|
||||||
y = (window->h - point.y);
|
y = (window->h - point.y);
|
||||||
|
|
||||||
|
// On macOS 26 if you move away from a space and then back, mouse motion events will have incorrect
|
||||||
|
// values at the top of the screen. The global mouse position query is still correct, so we'll fall
|
||||||
|
// back to that until this is fixed by Apple. Mouse button events are interestingly not affected.
|
||||||
|
if (@available(macOS 26.0, *)) {
|
||||||
|
if ([_data.listener isInFullscreenSpace]) {
|
||||||
|
int posx = 0, posy = 0;
|
||||||
|
SDL_GetWindowPosition(window, &posx, &posy);
|
||||||
|
SDL_GetGlobalMouseState(&x, &y);
|
||||||
|
x -= posx;
|
||||||
|
y -= posy;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (NSAppKitVersionNumber >= NSAppKitVersionNumber10_13_2) {
|
if (NSAppKitVersionNumber >= NSAppKitVersionNumber10_13_2) {
|
||||||
// Mouse grab is taken care of by the confinement rect
|
// Mouse grab is taken care of by the confinement rect
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user