view src/main/macosx/exports/SDL.x @ 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 9c55b00f8251
children 6c7b69218276
line wrap: on
line source

	.objc_class_name_SDL_QuartzWindow
	.objc_class_name_SDL_QuartzWindowDelegate
	_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_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