From 91a559828364f1da8d0c73ce02dda22d2995756a Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 20 Oct 2025 15:55:24 -0400 Subject: [PATCH] cocoa: Check for duplicate proximity events. Fixes #12137. --- src/video/cocoa/SDL_cocoapen.m | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/video/cocoa/SDL_cocoapen.m b/src/video/cocoa/SDL_cocoapen.m index 6c30bfb157..e8a15dac78 100644 --- a/src/video/cocoa/SDL_cocoapen.m +++ b/src/video/cocoa/SDL_cocoapen.m @@ -84,7 +84,12 @@ static void Cocoa_HandlePenProximityEvent(SDL_CocoaWindowData *_data, NSEvent *e return; // we ignore other things, which hopefully is right. } - Cocoa_PenHandle *handle = (Cocoa_PenHandle *) SDL_calloc(1, sizeof (*handle)); + Cocoa_PenHandle *handle = Cocoa_FindPenByDeviceID(devid, toolid); + if (handle) { + return; // already have this one. + } + + handle = (Cocoa_PenHandle *) SDL_calloc(1, sizeof (*handle)); if (!handle) { return; // oh well. }