Adopted Eero Pajarre's suggestion of using a do { ... } while
authorRichard Rauch <rkr@olib.org>
Fri, 7 Nov 2003 15:30:59 +0000 (15:30 +0000)
committerRichard Rauch <rkr@olib.org>
Fri, 7 Nov 2003 15:30:59 +0000 (15:30 +0000)
rather than { ... } for the INVOKE_WCB() macro.  This lets it
be used "more like a function", in that:

if( ... )
    INVOKE_WCB( ... );
else
    ...

...is now legal.

git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@321 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_internal.h

index f74b71c..ea311b6 100644 (file)
@@ -389,13 +389,14 @@ struct tagSFG_WindowState
  *
  */
 #define INVOKE_WCB(window,cbname,arg_list)    \
+do                                            \
 {                                             \
     if( FETCH_WCB( window, cbname ) )         \
     {                                         \
         fgSetWindow( &window );               \
         FETCH_WCB( window, cbname ) arg_list; \
     }                                         \
-}
+} while( 0 )
 
 /*
  * The window callbacks the user can supply us with. Should be kept portable.