diff options
-rw-r--r-- | src/glut/glx/glut_event.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/glut/glx/glut_event.c b/src/glut/glx/glut_event.c index f997f772c70..4e67da674ed 100644 --- a/src/glut/glx/glut_event.c +++ b/src/glut/glx/glut_event.c @@ -439,11 +439,15 @@ processEventsAndTimeouts(void) } else { window = __glutGetWindow(event.xbutton.window); /* added button check for mice with > 3 buttons */ - if (window && event.xbutton.button <= GLUT_MAX_MENUS) { + if (window) { GLUTmenu *menu; int menuNum; - menuNum = window->menu[event.xbutton.button - 1]; + if (event.xbutton.button <= GLUT_MAX_MENUS) + menuNum = window->menu[event.xbutton.button - 1]; + else + menuNum = 0; + /* Make sure that __glutGetMenuByNum is only called if there really is a menu present. */ if ((menuNum > 0) && (menu = __glutGetMenuByNum(menuNum))) { |