diff --git a/src/video/x11/SDL_x11events.c b/src/video/x11/SDL_x11events.c index 301060017..d24a6b7d6 100644 --- a/src/video/x11/SDL_x11events.c +++ b/src/video/x11/SDL_x11events.c @@ -441,8 +441,10 @@ printf("Mode: NotifyGrab\n"); if ( xevent.xcrossing.mode == NotifyUngrab ) printf("Mode: NotifyUngrab\n"); #endif - if ( xevent.xcrossing.detail != NotifyInferior ) { - if ( this->input_grab == SDL_GRAB_OFF ) { + if ( (xevent.xcrossing.mode != NotifyGrab) && + (xevent.xcrossing.mode != NotifyUngrab) && + (xevent.xcrossing.detail != NotifyInferior) ) { + if ( this->input_grab == SDL_GRAB_OFF ) { posted = SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS); } else { posted = SDL_PrivateMouseMotion(0, 0,