Button handlers in system menu passed back to listeners

I've noticed in 2.7.x that when I select a custom item in the system menu with the A Button, the A Button handler on the input stack for the current view in the game will be called.

Example:

In The Whiteout, while on the main menu:

  • Hit the pause button.
  • Select "Credits"
  • The credits view is presented and the game has now continued behind it because the game's AButtonDown handler was triggered by pressing the A Button to view the credits in the system menu.

This does not happen when the game is built with the 2.6.2 SDK and so its not reproducible with the currently live version of the game. I noticed this while working on a patch built with 2.7.4.

To recap:

  • Add an AButtonDown handler with inputHandlers.push(handlers, true)
  • Add something to the system menu with addMenuItem

Invoke the system menu, select the custom item - its callback is called AND the callback on the input handler stack is called.

1 Like