From 4c03cb931c69055c5c1b5df411b3fdb2ef97281f Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 21 Mar 2011 16:36:17 -0700 Subject: [PATCH] Fixed bug: No right mouse button events during FullScreen Mac OS Something inside setStyleMask mucks with the view responder chain, which prevents the listener from hearing the right mouse down events. We just reset the listener after changing the style to fix this. --- src/video/cocoa/SDL_cocoawindow.m | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index 13cc7abe7..ff7bb6708 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/src/video/cocoa/SDL_cocoawindow.m @@ -792,6 +792,11 @@ Cocoa_SetWindowFullscreen(_THIS, SDL_Window * window, SDL_VideoDisplay * display NSWindow *nswindow = data->nswindow; NSRect rect; + /* The view responder chain gets messed with during setStyleMask */ + if ([[nswindow contentView] nextResponder] == data->listener) { + [[nswindow contentView] setNextResponder:nil]; + } + if (fullscreen) { SDL_Rect bounds; @@ -827,6 +832,11 @@ Cocoa_SetWindowFullscreen(_THIS, SDL_Window * window, SDL_VideoDisplay * display } } + /* The view responder chain gets messed with during setStyleMask */ + if ([[nswindow contentView] nextResponder] != data->listener) { + [[nswindow contentView] setNextResponder:data->listener]; + } + s_moveHack = 0; [nswindow setFrameOrigin:rect.origin]; [nswindow setContentSize:rect.size];