Mercurial > sdl-ios-xcode
view docs/man3/SDL_SemTryWait.3 @ 717:42ed44b2c8b6
Date: Sun, 14 Sep 2003 17:04:55 -0400
From: Philip D.S. Thoren <pthoren@cs.uml.edu>
Reply-To: "sdl@libsdl.org" <sdl@libsdl.org>
To: "sdl@libsdl.org" <sdl@libsdl.org>
Subject: [SDL] BUG in src/video/windx5/SDL_dx5events.c
I tracked down a bug that crashed my program on Windows *all* the
time.
FILE: src/video/windx5/SDL_dx5events.c
FUNCTION: handle_mouse
BUG:
SDL_PublicSurface is being dereferenced when it is NULL.
I added the following to the very begining of handle_mouse
and it solved my crashing problems:
if (SDL_PublicSurface == NULL) return;
~ Philip D.S. Thoren
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Mon, 15 Sep 2003 13:51:25 +0000 |
parents | e5bc29de3f0a |
children | 546f7c1eb755 |
line wrap: on
line source
.TH "SDL_SemTryWait" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" .SH "NAME" SDL_SemTryWait\- Attempt to lock a semaphore but don\&'t suspend the thread\&. .SH "SYNOPSIS" .PP \fB#include "SDL\&.h" #include "SDL_thread\&.h" .sp \fBint \fBSDL_SemTryWait\fP\fR(\fBSDL_sem *sem\fR); .SH "DESCRIPTION" .PP \fBSDL_SemTryWait\fP is a non-blocking varient of \fI\fBSDL_SemWait\fP\fR\&. If the value of the semaphore pointed to by \fBsem\fR is positive it will atomically decrement the semaphore value and return 0, otherwise it will return \fBSDL_MUTEX_TIMEOUT\fR instead of suspending the thread\&. .PP After \fBSDL_SemTryWait\fP is successful, the semaphore can be released and its count atomically incremented by a successful call to \fISDL_SemPost\fR\&. .SH "RETURN VALUE" .PP Returns \fB0\fR if the semaphore was successfully locked or either \fBSDL_MUTEX_TIMEOUT\fR or \fB-1\fR if the thread would have suspended or there was an error, respectivly\&. .PP If the semaphore was not successfully locked, the semaphore will be unchanged\&. .SH "EXAMPLES" .PP .PP .nf \f(CWres = SDL_SemTryWait(my_sem); if (res == SDL_MUTEX_TIMEOUT) { return TRY_AGAIN; } if (res == -1) { return WAIT_ERROR; } \&.\&.\&. SDL_SemPost(my_sem);\fR .fi .PP .SH "SEE ALSO" .PP \fI\fBSDL_CreateSemaphore\fP\fR, \fI\fBSDL_DestroySemaphore\fP\fR, \fI\fBSDL_SemWait\fP\fR, \fI\fBSDL_SemWaitTimeout\fP\fR, \fI\fBSDL_SemPost\fP\fR, \fI\fBSDL_SemValue\fP\fR ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00