Commit 326b357804f67a80a87f17b1197bf4363c8533e6

Ryan C. Gordon 2015-12-29T01:09:58

Mac: don't ignore mouse clicks on the top pixel of a window (thanks, Joshua!). Fixes Bugzilla #3190.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m
index 009d15a..0c5f300 100644
--- a/src/video/cocoa/SDL_cocoawindow.m
+++ b/src/video/cocoa/SDL_cocoawindow.m
@@ -823,7 +823,14 @@ SetWindowStyle(SDL_Window * window, unsigned int style)
 
     /* Ignore events that aren't inside the client area (i.e. title bar.) */
     if ([theEvent window]) {
-        const NSRect windowRect = [[[theEvent window] contentView] frame];
+        NSRect windowRect = [[[theEvent window] contentView] frame];
+
+        /* add one to size, since NSPointInRect is exclusive of the bottom
+           edges, which mean it misses the top of the window by one pixel
+           (as the origin is the bottom left). */
+        windowRect.size.width += 1;
+        windowRect.size.height += 1;
+
         if (!NSPointInRect([theEvent locationInWindow], windowRect)) {
             return;
         }