Mercurial > sdl-ios-xcode
view src/main/beos/exports/SDL.exp @ 1120:8e1fde455471
Patch by me to fix crash described below.
--ryan.
To: sdl@libsdl.org
From: Rainer Deyke <rainerd@eldwood.com>
Date: Tue, 16 Aug 2005 01:08:18 -0600
Subject: [SDL] Bug report: SDL_CreateRGBSurface with SDL_HWSURFACE crashes
If SDL is in full-screen mode with a hardware video surface on OS X,
SDL_CreateRGBSurface with SDL_HWSURFACE crashes. The crash occurs on
line 109 of SDL_Surface.c. This was tested on OS X 10.3.9 with both SDL
1.2.8 and the latest CVS. Here is a small C++ program that demonstrates
the problem:
#include "SDL.h"
#include <stdio.h>
namespace {
void wait_for_key()
{
SDL_Event e;
printf("%d\n", SDL_GetAppState());
while (SDL_WaitEvent(&e)) {
if (e.type == SDL_KEYDOWN || e.type == SDL_QUIT) return;
}
}
}
int main(int, char *[])
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen
= SDL_SetVideoMode(640, 480, 32, SDL_FULLSCREEN | SDL_HWSURFACE);
SDL_Surface *s = SDL_CreateRGBSurface(SDL_HWSURFACE, 640, 480, 32,
screen->format->Rmask, screen->format->Gmask,
screen->format->Bmask, screen->format->Amask);
wait_for_key();
if (s) SDL_FreeSurface(s);
SDL_Quit();
printf("Success!\n");
return 0;
}
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Thu, 18 Aug 2005 06:46:32 +0000 |
parents | eb78bb0b715b |
children | 6c7b69218276 |
line wrap: on
line source
_SDL_Init _SDL_InitSubSystem _SDL_QuitSubSystem _SDL_WasInit _SDL_Quit _SDL_GetAppState _SDL_AudioInit _SDL_AudioQuit _SDL_AudioDriverName _SDL_OpenAudio _SDL_GetAudioStatus _SDL_PauseAudio _SDL_LoadWAV_RW _SDL_FreeWAV _SDL_BuildAudioCVT _SDL_ConvertAudio _SDL_MixAudio _SDL_LockAudio _SDL_UnlockAudio _SDL_CloseAudio _SDL_CDNumDrives _SDL_CDName _SDL_CDOpen _SDL_CDStatus _SDL_CDPlayTracks _SDL_CDPlay _SDL_CDPause _SDL_CDResume _SDL_CDStop _SDL_CDEject _SDL_CDClose _SDL_HasRDTSC _SDL_HasMMX _SDL_HasMMXExt _SDL_Has3DNow _SDL_Has3DNowExt _SDL_HasSSE _SDL_HasSSE2 _SDL_HasAltiVec _SDL_ReadLE16 _SDL_ReadBE16 _SDL_ReadLE32 _SDL_ReadBE32 _SDL_ReadLE64 _SDL_ReadBE64 _SDL_WriteLE16 _SDL_WriteBE16 _SDL_WriteLE32 _SDL_WriteBE32 _SDL_WriteLE64 _SDL_WriteBE64 _SDL_SetError _SDL_GetError _SDL_ClearError _SDL_Error _SDL_PumpEvents _SDL_PeepEvents _SDL_PollEvent _SDL_WaitEvent _SDL_PushEvent _SDL_SetEventFilter _SDL_GetEventFilter _SDL_EventState _SDL_NumJoysticks _SDL_JoystickName _SDL_JoystickOpen _SDL_JoystickOpened _SDL_JoystickIndex _SDL_JoystickNumAxes _SDL_JoystickNumBalls _SDL_JoystickNumHats _SDL_JoystickNumButtons _SDL_JoystickUpdate _SDL_JoystickEventState _SDL_JoystickGetAxis _SDL_JoystickGetHat _SDL_JoystickGetBall _SDL_JoystickGetButton _SDL_JoystickClose _SDL_EnableUNICODE _SDL_EnableKeyRepeat _SDL_GetKeyState _SDL_GetModState _SDL_SetModState _SDL_GetKeyName _SDL_LoadObject _SDL_LoadFunction _SDL_UnloadObject _SDL_SetModuleHandle _SDL_RegisterApp _SDL_InitQuickDraw _SDL_GetMouseState _SDL_GetRelativeMouseState _SDL_WarpMouse _SDL_CreateCursor _SDL_SetCursor _SDL_GetCursor _SDL_FreeCursor _SDL_ShowCursor _SDL_CreateMutex _SDL_mutexP _SDL_mutexV _SDL_DestroyMutex _SDL_CreateSemaphore _SDL_DestroySemaphore _SDL_SemWait _SDL_SemTryWait _SDL_SemWaitTimeout _SDL_SemPost _SDL_SemValue _SDL_CreateCond _SDL_DestroyCond _SDL_CondSignal _SDL_CondBroadcast _SDL_CondWait _SDL_CondWaitTimeout _SDL_RWFromFile _SDL_RWFromFP _SDL_RWFromMem _SDL_RWFromConstMem _SDL_AllocRW _SDL_FreeRW _SDL_GetWMInfo _SDL_CreateThread _SDL_ThreadID _SDL_GetThreadID _SDL_WaitThread _SDL_KillThread _SDL_GetTicks _SDL_Delay _SDL_SetTimer _SDL_AddTimer _SDL_RemoveTimer _SDL_Linked_Version _SDL_VideoInit _SDL_VideoQuit _SDL_VideoDriverName _SDL_GetVideoSurface _SDL_GetVideoInfo _SDL_VideoModeOK _SDL_ListModes _SDL_SetVideoMode _SDL_UpdateRects _SDL_UpdateRect _SDL_Flip _SDL_SetGamma _SDL_SetGammaRamp _SDL_GetGammaRamp _SDL_SetColors _SDL_SetPalette _SDL_MapRGB _SDL_MapRGBA _SDL_GetRGB _SDL_GetRGBA _SDL_CreateRGBSurface _SDL_CreateRGBSurfaceFrom _SDL_FreeSurface _SDL_LockSurface _SDL_UnlockSurface _SDL_LoadBMP_RW _SDL_SaveBMP_RW _SDL_SetColorKey _SDL_SetAlpha _SDL_SetClipRect _SDL_GetClipRect _SDL_ConvertSurface _SDL_UpperBlit _SDL_LowerBlit _SDL_FillRect _SDL_DisplayFormat _SDL_DisplayFormatAlpha _SDL_CreateYUVOverlay _SDL_LockYUVOverlay _SDL_UnlockYUVOverlay _SDL_DisplayYUVOverlay _SDL_FreeYUVOverlay _SDL_GL_LoadLibrary _SDL_GL_GetProcAddress _SDL_GL_SetAttribute _SDL_GL_GetAttribute _SDL_GL_SwapBuffers _SDL_GL_UpdateRects _SDL_GL_Lock _SDL_GL_Unlock _SDL_WM_SetCaption _SDL_WM_GetCaption _SDL_WM_SetIcon _SDL_WM_IconifyWindow _SDL_WM_ToggleFullScreen _SDL_WM_GrabInput _SDL_SoftStretch