projects
/
freeglut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
A couple of fixes in fg_joystick_x11.c identified in bug report #249
[freeglut]
/
src
/
fg_menu.c
diff --git
a/src/fg_menu.c
b/src/fg_menu.c
index
ae7405c
..
53112dc
100644
(file)
--- a/
src/fg_menu.c
+++ b/
src/fg_menu.c
@@
-135,7
+135,7
@@
static void fghDeactivateSubMenu( SFG_MenuEntry *menuEntry )
static GLvoid fghGetVMaxExtent( SFG_Window* window, int* x, int* y )
{
if( fgStructure.GameModeWindow )
static GLvoid fghGetVMaxExtent( SFG_Window* window, int* x, int* y )
{
if( fgStructure.GameModeWindow )
- fgPlatformGetGameModeVMaxExtent ( window, x, y );
+ fgPlatformGetGameModeVMaxExtent ( window, x, y );
else
{
*x = fgDisplay.ScreenWidth;
else
{
*x = fgDisplay.ScreenWidth;
@@
-784,10
+784,10
@@
int FGAPIENTRY glutCreateMenuUcall( FGCBMenuUC callback, FGCBUserData userData )
{
/* The menu object creation code resides in fg_structure.c */
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutCreateMenuUcall" );
{
/* The menu object creation code resides in fg_structure.c */
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutCreateMenuUcall" );
- if (fgState.ActiveMenus)
- {
- fgError( "Menu manipulation not allowed while menus in use." );
- }
+ if (fgState.ActiveMenus)
+ {
+ fgError( "Menu manipulation not allowed while menus in use." );
+ }
return fgCreateMenu( callback, userData )->ID;
}
return fgCreateMenu( callback, userData )->ID;
}
@@
-795,18
+795,20
@@
int FGAPIENTRY glutCreateMenuUcall( FGCBMenuUC callback, FGCBUserData userData )
/* Standard glutCreateMenu */
static void fghCreateMenuCallback( int menu, FGCBUserData userData )
{
/* Standard glutCreateMenu */
static void fghCreateMenuCallback( int menu, FGCBUserData userData )
{
- FGCBMenu callback = (FGCBMenu)userData;
- callback( menu );
+ FGCBMenu* callback = (FGCBMenu*)&userData;
+ (*callback)( menu );
}
int FGAPIENTRY glutCreateMenu( FGCBMenu callback )
{
}
int FGAPIENTRY glutCreateMenu( FGCBMenu callback )
{
+ FGCBMenu* reference;
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutCreateMenu" );
if (!callback)
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutCreateMenu" );
if (!callback)
- {
+ {
return glutCreateMenuUcall( NULL, NULL );
return glutCreateMenuUcall( NULL, NULL );
- }
- return glutCreateMenuUcall( fghCreateMenuCallback, (FGCBUserData)callback );
+ }
+ reference = &callback;
+ return glutCreateMenuUcall( fghCreateMenuCallback, *((FGCBUserData*)reference) );
}
/*
}
/*