X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_main.c;h=485ee4bf88e2bfb8df24df30942b8ceb26447e36;hb=4a723a56942a87827f8b8724e3433e482fd2ac39;hp=c57547c2f3f1db6cabfefb5f5fb34b8ff9079542;hpb=33e02cd4712fe0ada80eadfd2e4c35f87bca6263;p=freeglut diff --git a/src/freeglut_main.c b/src/freeglut_main.c index c57547c..485ee4b 100644 --- a/src/freeglut_main.c +++ b/src/freeglut_main.c @@ -29,8 +29,6 @@ #include "config.h" #endif -#define G_LOG_DOMAIN "freeglut-main" - #include "../include/GL/freeglut.h" #include "freeglut_internal.h" @@ -655,10 +653,14 @@ void FGAPIENTRY glutMainLoopEvent( void ) event.xmotion.y ); } } - else if( window->Callbacks.Passive ) + else { - fgSetWindow ( window ) ; - window->Callbacks.Passive( event.xmotion.x, event.xmotion.y ); + if( window->Callbacks.Passive ) + { + fgSetWindow( window ); + window->Callbacks.Passive( event.xmotion.x, + event.xmotion.y ); + } } } break; @@ -792,43 +794,40 @@ void FGAPIENTRY glutMainLoopEvent( void ) if( window->Callbacks.Mouse ) fgStructure.Window->Callbacks.Mouse( button, - event.type == ButtonPress ? GLUT_DOWN : GLUT_UP, + pressed ? GLUT_DOWN : GLUT_UP, event.xbutton.x, event.xbutton.y ); } else { - if( ( button >= 4 ) && window->Callbacks.MouseWheel ) - { - /* - * Map 4 and 5 to wheel zero; EVEN to +1, ODD to -1 - * " 6 and 7 " " one; ... - * - * XXX This *should* be behind some variables/macros, - * XXX since the order and numbering isn't certain - * XXX See XFree86 configuration docs (even back in the - * XXX 3.x days, and especially with 4.x). - */ - int wheel_number = (button - 4) / 2; - int direction = (button & 1)*2 - 1; - - if( ButtonPress ) - fgStructure.Window->Callbacks.MouseWheel( - wheel_number, - direction, - event.xbutton.x, - event.xbutton.y - ); - } + /* + * Map 4 and 5 to wheel zero; EVEN to +1, ODD to -1 + * " 6 and 7 " " one; ... + * + * XXX This *should* be behind some variables/macros, + * XXX since the order and numbering isn't certain + * XXX See XFree86 configuration docs (even back in the + * XXX 3.x days, and especially with 4.x). + */ + int wheel_number = (button - 4) / 2; + int direction = (button & 1)*2 - 1; + + if( pressed ) + fgStructure.Window->Callbacks.MouseWheel( + wheel_number, + direction, + event.xbutton.x, + event.xbutton.y + ); } /* * Trash the modifiers state */ fgStructure.Window->State.Modifiers = 0xffffffff; - break; } + break; case KeyRelease: case KeyPress: @@ -1020,7 +1019,7 @@ void FGAPIENTRY glutMainLoop( void ) } { - fgExecutionState execState = fgState.ActionOnWindowClose; + fgExecutionState execState = fgState.ExecState; /* * When this loop terminates, destroy the display, state and structure @@ -1383,7 +1382,7 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, break; } - if ( ( window->Menu[ button ] != NULL ) && ( pressed == TRUE ) ) + if ( ( window->Menu[ button ] ) && ( pressed == TRUE ) ) { window->State.Redisplay = TRUE; fgSetWindow( window );