Cocoa: ignore mouseDown events in a window's titlebar.

These events accidentally slipping in sometimes appears to be a bug (or
maybe new behavior) in 10.10, as previous versions of Mac OS X don't appear
to ever trigger this.

Thanks to Paulo Marques for pointing out the fix on the SDL mailing list!

Fixes Bugzilla #2842 (again).
This commit is contained in:
Ryan C. Gordon 2015-05-31 00:50:30 -04:00
parent 8c9571a26b
commit 870df8adab

View file

@ -751,6 +751,14 @@ SetWindowStyle(SDL_Window * window, unsigned int style)
{ {
int button; int button;
/* Ignore events that aren't inside the client area (i.e. title bar.) */
if ([theEvent window]) {
const NSRect windowRect = [[[theEvent window] contentView] frame];
if (!NSPointInRect([theEvent locationInWindow], windowRect)) {
return;
}
}
if ([self processHitTest:theEvent]) { if ([self processHitTest:theEvent]) {
return; /* dragging, drop event. */ return; /* dragging, drop event. */
} }