Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Fixed bug 1882 - SDL_GetKeyboardState should return const.

Yuri K. Schlesner

The array returned by SDL_GetKeyboardState is also used internally by SDL to keep track of pressed/released keys and must not be modified, lest weird behaviour occurs. Because of this I believe it's return type should be changed to return a const pointer, which will provide a code indication of that fact.
  • Loading branch information
slouken committed Jun 2, 2013
1 parent 449d1c7 commit 88f3b00e22a436cb509fe376127baca1046025fc
Showing with 3 additions and 3 deletions.
  1. +2 −2 include/SDL_keyboard.h
  2. +1 −1 src/events/SDL_keyboard.c
@@ -66,13 +66,13 @@ extern DECLSPEC SDL_Window * SDLCALL SDL_GetKeyboardFocus(void);
*
* \b Example:
* \code
* Uint8 *state = SDL_GetKeyboardState(NULL);
* const Uint8 *state = SDL_GetKeyboardState(NULL);
* if ( state[SDL_SCANCODE_RETURN] ) {
* printf("<RETURN> is pressed.\n");
* }
* \endcode
*/
extern DECLSPEC Uint8 *SDLCALL SDL_GetKeyboardState(int *numkeys);
extern DECLSPEC const Uint8 *SDLCALL SDL_GetKeyboardState(int *numkeys);

/**
* \brief Get the current key modifier state for the keyboard.
@@ -829,7 +829,7 @@ SDL_KeyboardQuit(void)
{
}

Uint8 *
const Uint8 *
SDL_GetKeyboardState(int *numkeys)
{
SDL_Keyboard *keyboard = &SDL_keyboard;

0 comments on commit 88f3b00

Please sign in to comment.