view docs/man3/SDL_SetModState.3 @ 852:2651b6b43840

Quartz fix: ut2004 makes a 2D window for the splash screen, which sets the screen surface's pixels field. Then we tear down that video mode and create a GL context, and the Quartz target isn't resetting the pixels field to NULL. When you just create a GL window, the structure is memset'd to zero the first time through, so unless you hit ut2004's codepath, you won't see the bug. :) Without this patch, quitting a windowed ut2003/ut2004 game makes the OS dump a warning about a bogus free() to stderr, but it doesn't actually crash. All we need to do is explicitly initialize the current->pixels field.
author Ryan C. Gordon <icculus@icculus.org>
date Tue, 24 Feb 2004 06:53:22 +0000
parents e5bc29de3f0a
children 546f7c1eb755
line wrap: on
line source

.TH "SDL_SetModState" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_SetModState\- Set the current key modifier state
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
.sp
\fBvoid \fBSDL_SetModState\fP\fR(\fBSDLMod modstate\fR);
.SH "DESCRIPTION"
.PP
The inverse of \fI\fBSDL_GetModState\fP\fR, \fBSDL_SetModState\fP allows you to impose modifier key states on your application\&.
.PP
Simply pass your desired modifier states into \fBmodstate\fR\&. This value my be a logical OR\&'d combination of the following:
.PP
.nf
\f(CWtypedef enum {
  KMOD_NONE  = 0x0000,
  KMOD_LSHIFT= 0x0001,
  KMOD_RSHIFT= 0x0002,
  KMOD_LCTRL = 0x0040,
  KMOD_RCTRL = 0x0080,
  KMOD_LALT  = 0x0100,
  KMOD_RALT  = 0x0200,
  KMOD_LMETA = 0x0400,
  KMOD_RMETA = 0x0800,
  KMOD_NUM   = 0x1000,
  KMOD_CAPS  = 0x2000,
  KMOD_MODE  = 0x4000,
} SDLMod;\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_GetModState\fP\fR
...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00