Fixed bug #716
Armin Burgmeier 2009-03-15 04:35:45 PDT When I hold a mouse button down on another (non-SDL) window, then move the mouse over an SDL window and releasing the mouse button there, then the application does not receive an SDL_ACTIVEEVENT with state SDL_APPMOUSEFOCUS and gain 1. Furthermore, SDL_GetAppState() reports the application not having mouse focus until moving the mouse out of the window and back in again. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403927
This commit is contained in:
parent
bb9b983417
commit
8349cf0831
1 changed files with 10 additions and 15 deletions
|
@ -93,16 +93,13 @@ X11_DispatchEvent(_THIS)
|
|||
if (xevent.xcrossing.mode == NotifyUngrab)
|
||||
printf("Mode: NotifyUngrab\n");
|
||||
#endif
|
||||
if ((xevent.xcrossing.mode != NotifyGrab) &&
|
||||
(xevent.xcrossing.mode != NotifyUngrab)) {
|
||||
#if 1
|
||||
/* FIXME: Should we reset data for all mice? */
|
||||
for (i = 0; i < SDL_GetNumMice(); ++i) {
|
||||
SDL_Mouse *mouse = SDL_GetMouse(i);
|
||||
SDL_SetMouseFocus(mouse->id, data->windowID);
|
||||
}
|
||||
#endif
|
||||
/* FIXME: Should we reset data for all mice? */
|
||||
for (i = 0; i < SDL_GetNumMice(); ++i) {
|
||||
SDL_Mouse *mouse = SDL_GetMouse(i);
|
||||
SDL_SetMouseFocus(mouse->id, data->windowID);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -118,15 +115,13 @@ X11_DispatchEvent(_THIS)
|
|||
if (xevent.xcrossing.mode == NotifyUngrab)
|
||||
printf("Mode: NotifyUngrab\n");
|
||||
#endif
|
||||
if ((xevent.xcrossing.mode != NotifyGrab) &&
|
||||
(xevent.xcrossing.mode != NotifyUngrab) &&
|
||||
(xevent.xcrossing.detail != NotifyInferior)) {
|
||||
if (xevent.xcrossing.detail != NotifyInferior) {
|
||||
#if 1
|
||||
/* FIXME: Should we reset data for all mice? */
|
||||
for (i = 0; i < SDL_GetNumMice(); ++i) {
|
||||
SDL_Mouse *mouse = SDL_GetMouse(i);
|
||||
SDL_SetMouseFocus(mouse->id, 0);
|
||||
}
|
||||
for (i = 0; i < SDL_GetNumMice(); ++i) {
|
||||
SDL_Mouse *mouse = SDL_GetMouse(i);
|
||||
SDL_SetMouseFocus(mouse->id, 0);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue