+ fgDeactivateMenu( window->ActiveMenu->ParentWindow );
+
+ /*
+ * XXX Why does an active menu require a redisplay at
+ * XXX this point? If this can come out cleanly, then
+ * XXX it probably should do so; if not, a comment should
+ * XXX explain it.
+ */
+ if( ! window->IsMenu )
+ window->State.Redisplay = GL_TRUE;
+
+ return GL_TRUE;
+ }
+
+ /* No active menu, let's check whether we need to activate one. */
+ if( ( 0 <= button ) &&
+ ( FREEGLUT_MAX_MENUS > button ) &&
+ ( window->Menu[ button ] ) &&
+ pressed )
+ {
+ /* XXX Posting a requisite Redisplay seems bogus. */
+ window->State.Redisplay = GL_TRUE;
+ fgSetWindow( window );
+ fgActivateMenu( window, button );
+ return GL_TRUE;