view docs/man3/SDL_PollEvent.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_PollEvent" "3" "Tue 11 Sep 2001, 22:59" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_PollEvent\- Polls for currently pending events\&.
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
.sp
\fBint \fBSDL_PollEvent\fP\fR(\fBSDL_Event *event\fR);
.SH "DESCRIPTION"
.PP
Polls for currently pending events, and returns \fB1\fR if there are any pending events, or \fB0\fR if there are none available\&. 
.PP
If \fBevent\fR is not \fBNULL\fP, the next event is removed from the queue and stored in that area\&.
.SH "EXAMPLES"
.PP
.PP
.nf
\f(CWSDL_Event event; /* Event structure */

\&.
\&.
\&.
/* Check for events */
while(SDL_PollEvent(&event)){  /* Loop until there are no events left on the queue */
  switch(event\&.type){  /* Process the appropiate event type */
    case SDL_KEYDOWN:  /* Handle a KEYDOWN event */         
      printf("Oh! Key press
");
      break;
    case SDL_MOUSEMOTION:
      \&.
      \&.
      \&.
    default: /* Report an unhandled event */
      printf("I don\&'t know what this event is!
");
  }
}\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_Event\fR\fR, \fI\fBSDL_WaitEvent\fP\fR, \fI\fBSDL_PeepEvents\fP\fR
...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:59