From 68e164b66a447947c30bcf82f4b97ac018ea3c3f Mon Sep 17 00:00:00 2001 From: Patrice Mandin Date: Thu, 7 Jul 2005 13:38:22 +0000 Subject: [PATCH] Don't use both mouse events for the same task --- src/video/gem/SDL_gemevents.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/video/gem/SDL_gemevents.c b/src/video/gem/SDL_gemevents.c index 00ad175b0..448f594eb 100644 --- a/src/video/gem/SDL_gemevents.c +++ b/src/video/gem/SDL_gemevents.c @@ -142,21 +142,26 @@ void GEM_PumpEvents(_THIS) short buffer[8], kc; short x2,y2,w2,h2; - quit = 0; + quit = + mouse_event = + x2=y2=w2=h2 = 0; event_mask = MU_MESAG|MU_TIMER|MU_KEYBD; if (!GEM_fullscreen && (GEM_handle>=0)) { wind_get (GEM_handle, WF_WORKXYWH, &x2, &y2, &w2, &h2); - event_mask |= MU_M1|MU_M2; - } else { - x2=y2=w2=h2=0; + event_mask |= MU_M1; + if ( (SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) { + mouse_event = MO_LEAVE; + } else { + mouse_event = MO_ENTER; + } } resultat = evnt_multi( event_mask, 0,0,0, - MO_ENTER,x2,y2,w2,h2, - MO_LEAVE,x2,y2,w2,h2, + mouse_event,x2,y2,w2,h2, + 0,0,0,0,0, buffer, 10, &dummy,&dummy,&dummy,&kstate,&kc,&dummy @@ -179,18 +184,13 @@ void GEM_PumpEvents(_THIS) /* Mouse entering/leaving window */ if (resultat & MU_M1) { if (this->input_grab == SDL_GRAB_OFF) { - if ( !(SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) { + if (SDL_GetAppState() & SDL_APPMOUSEFOCUS) { + SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS); + } else { SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); } } } - if (resultat & MU_M2) { - if (this->input_grab == SDL_GRAB_OFF) { - if ( (SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) { - SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS); - ] - } - } /* Timer event ? */ if ((resultat & MU_TIMER) || quit)