No description
Find a file
Sam Lantinga c1a974dae5 Fixed blit mapping problem when surfaces are freed and then newly allocated at the same address.
Tim Angus to SDL

void function( SDL_Surface* surface )
{
 SDL_Surface* anotherSurface =
   SDL_ConvertSurfaceFormat( surface, ... );

 // surface->map->dst is now equal to anotherSurface

 // Do some stuff with anotherSurface

 SDL_FreeSurface( anotherSurface );

 // anotherSurface is now a dead pointer,
 // but surface->map->dst still points to it
}

int main( )
{
 SDL_Surface* surface = CreateAValidSurface( );

 function( surface );
}

At this point blit something from surface. SDL_LowerBlit is called, which checks surface->map->dst against the blit destination. If the pointers happen to match (not that unlikely), the map is decided to be valid and bad things happen.

It seems to me like the whole idea of caching the blit mapping is fundamentally flawed in that the source surface has no knowledge of the lifetime of the destination surface.
2012-01-16 19:46:40 -05:00
acinclude Ozkan Sezer to slouken 2011-01-26 12:23:32 -08:00
android-project Fixed bug 1368 - Enabling joystick subsystem cause an infinite loop 2012-01-13 20:57:35 -05:00
build-scripts No man pages for SDL 1.3 2011-11-23 13:25:45 -05:00
include Fixed configure build 2012-01-16 19:21:07 -05:00
src Fixed blit mapping problem when surfaces are freed and then newly allocated at the same address. 2012-01-16 19:46:40 -05:00
test Fixed bug 1242 - PATCH: Improve support for OpenGL ES under X11 2012-01-08 02:23:37 -05:00
VisualC Don't hardcode output paths, Visual Studio does the right thing. 2012-01-09 04:53:58 -05:00
Xcode Futzing around with strip settings 2012-01-09 00:24:08 -05:00
Xcode-iOS Fixed running on iPhone 3G 2012-01-07 22:20:15 -05:00
.DISABLED-hgeol Disable .hgeol for now...it doesn't work well at the moment. 2011-01-20 11:51:23 -05:00
.hgignore Make sure that we use consistent configuration options on platforms like Windows so that command line builds and IDE builds have ABI compatibility. 2012-01-14 13:21:19 -05:00
.hgtags Tagging version before everything gets ripped out. 2010-05-09 17:00:56 -07:00
.indent.pro SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head. 2006-07-10 21:04:37 +00:00
aclocal.m4 Made it possible to build SDL from a fresh checkout without any additional steps. 2011-02-16 02:37:09 -08:00
Android.mk David Carre cpasjuste@gmail.com 2012-01-10 21:07:09 -05:00
autogen.sh SDL_revision.h is always updated as part of the build process now. 2011-02-28 09:06:15 -08:00
Borland.html *** empty log message *** 2003-07-01 01:18:27 +00:00
Borland.zip *** empty log message *** 2003-07-01 01:18:27 +00:00
BUGS Merged r2977:2978 from branches/SDL-1.2: BUGS file cutdown. 2007-02-14 10:41:55 +00:00
configure Check for sem_timedwait(), which isn't available on some systems (including OpenBSD 2012-01-15 03:34:14 -05:00
configure.in Check for sem_timedwait(), which isn't available on some systems (including OpenBSD 2012-01-15 03:34:14 -05:00
COPYING SDL 1.3 is now under the zlib license. 2011-04-08 13:03:26 -07:00
CREDITS Removed outdated Atari support 2009-09-20 04:15:19 +00:00
INSTALL Added svn checkout install step 2009-12-14 23:43:57 +00:00
Makefile.ds Removed buggy and LGPL MMX mixing routines. 2011-04-08 13:16:33 -07:00
Makefile.in Make sure that we use consistent configuration options on platforms like Windows so that command line builds and IDE builds have ABI compatibility. 2012-01-14 13:21:19 -05:00
Makefile.minimal Made it possible to build SDL from a fresh checkout without any additional steps. 2011-02-16 02:37:09 -08:00
Makefile.pandora Removed /dev/dsp DMA audio target. 2011-07-24 03:37:13 -07:00
Makefile.wiz Removed /dev/dsp DMA audio target. 2011-07-24 03:37:13 -07:00
NOTES Added notes on the next steps for SDL 1.3 2007-08-16 21:43:19 +00:00
README Updated documentation to reflect new license 2011-04-15 14:22:08 -07:00
README-SDL.txt Updated documentation to reflect new license 2011-04-15 14:22:08 -07:00
README.android Added information about starting a command shell on the device 2011-01-12 12:40:11 -08:00
README.BeOS Added a reminder on where to put libSDL.so 2006-02-18 07:21:42 +00:00
README.DirectFB Updated the DirectFB support, from Couriersud 2011-02-05 16:07:10 -08:00
README.ds NDS update 2011-03-26 21:26:05 -07:00
README.gesture Fixed some typos in the documentation 2010-08-22 12:03:53 -07:00
README.HG Whitespace change in a README. 2011-01-22 03:57:27 -05:00
README.iOS Updated iOS projects and renamed iPhoneOS to iOS 2012-01-05 21:41:55 -05:00
README.MacOSX Added information about gcc-fat.sh to README.MacOSX 2006-05-16 07:26:48 +00:00
README.pandora OpenPandora support added by David Carré 2009-05-31 11:53:12 +00:00
README.Platforms SDL still supports older iPod Touch and first generation iPhones. 2011-02-21 11:04:27 -08:00
README.Porting Added the dummy audio driver to instructions 2006-07-26 03:57:45 +00:00
README.touch Fixed some typos in the documentation 2010-08-22 12:03:53 -07:00
README.Watcom Fixed bug #818 2009-12-15 20:11:29 +00:00
README.WinCE Updated Windows CE/PocketPC support...adds GAPI driver, landscape mode, 2006-01-19 08:43:00 +00:00
sdl-config.in Merged r3002:3003 from branches/SDL-1.2: libdir fix in sdl-config and SDL.spec 2007-04-01 03:28:36 +00:00
sdl.m4 Fixed bug 978 2010-04-23 02:19:34 -07:00
sdl.pc.in Merged fix for bug #531 from SDL 1.2 revision 3511 2008-01-01 15:26:11 +00:00
SDL.spec.in Updated documentation to reflect new license 2011-04-15 14:22:08 -07:00
TODO Working on Cocoa implementation. 2010-07-26 21:48:53 -04:00
UNDER_CONSTRUCTION.txt SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head. 2006-07-10 21:04:37 +00:00
VisualC.html Removed newline, to make sure revision control post-commit hook is working. 2008-12-01 09:45:01 +00:00
Watcom-Win32.zip Fixed bug #818 2009-12-15 20:11:29 +00:00
WhatsNew Clearing the API changes for the 1.3.0 release 2011-01-19 22:20:44 -08:00

                         Simple DirectMedia Layer

                                  (SDL)

                                Version 1.3

---
http://www.libsdl.org/

This is the Simple DirectMedia Layer, a general API that provides low
level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
and 2D framebuffer across multiple platforms.

The current version supports Windows, Windows CE, Mac OS X, Linux, FreeBSD,
NetBSD, OpenBSD, BSD/OS, Solaris, iOS, and Android. The code contains
support for other operating systems but those are not officially supported.

SDL is written in C, but works with C++ natively, and has bindings to
several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
Go, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
Pike, Pliant, Python, Ruby, and Smalltalk.

This library is distributed under the zlib license, which can be found
in the file "COPYING".

The best way to learn how to use SDL is to check out the header files in
the "include" subdirectory and the programs in the "test" subdirectory.
The header files and test programs are well commented and always up to date.
More documentation is available in HTML format in "docs/index.html", and
a documentation wiki is available online at:
	http://www.libsdl.org/cgi/docwiki.cgi

The test programs in the "test" subdirectory are in the public domain.

Frequently asked questions are answered online:
	http://www.libsdl.org/faq.php

If you need help with the library, or just want to discuss SDL related
issues, you can join the developers mailing list:
	http://www.libsdl.org/mailing-list.php

Enjoy!
	Sam Lantinga				(slouken@libsdl.org)