Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Applied the same logic as the fix for bug 894.

Anytime we enter the window, we gain the mouse focus.  If we leave the window because of a normal LeaveNotify, then we lose mouse focus.
  • Loading branch information
slouken committed Jul 20, 2010
1 parent f908aca commit eceab3fe6f680582ae785fd3e368bb2698ea7c66
Showing with 8 additions and 6 deletions.
  1. +8 −6 src/video/x11/SDL_x11events.c
@@ -25,7 +25,7 @@
#include <sys/time.h>
#include <signal.h>
#include <unistd.h>
#include <limits.h> /* For INT_MAX */
#include <limits.h> /* For INT_MAX */

#include "SDL_x11video.h"
#include "../../events/SDL_events_c.h"
@@ -92,8 +92,8 @@ X11_DispatchEvent(_THIS)
case EnterNotify:{
#ifdef DEBUG_XEVENTS
printf("EnterNotify! (%d,%d,%d)\n",
xevent.xcrossing.x,
xevent.xcrossing.y,
xevent.xcrossing.x,
xevent.xcrossing.y,
xevent.xcrossing.mode);
if (xevent.xcrossing.mode == NotifyGrab)
printf("Mode: NotifyGrab\n");
@@ -108,15 +108,17 @@ X11_DispatchEvent(_THIS)
case LeaveNotify:{
#ifdef DEBUG_XEVENTS
printf("LeaveNotify! (%d,%d,%d)\n",
xevent.xcrossing.x,
xevent.xcrossing.y,
xevent.xcrossing.x,
xevent.xcrossing.y,
xevent.xcrossing.mode);
if (xevent.xcrossing.mode == NotifyGrab)
printf("Mode: NotifyGrab\n");
if (xevent.xcrossing.mode == NotifyUngrab)
printf("Mode: NotifyUngrab\n");
#endif
if (xevent.xcrossing.detail != NotifyInferior) {
if (xevent.xcrossing.mode != NotifyGrab &&
xevent.xcrossing.mode != NotifyUngrab &&
xevent.xcrossing.detail != NotifyInferior) {
SDL_SetMouseFocus(NULL);
}
}

0 comments on commit eceab3f

Please sign in to comment.