SDL/src
Sam Lantinga 67f9348baa Fixed bug 3790 - Memory leak with surfaces blitting on each other
bastien.bouclet

When creating two surfaces and blitting them onto the other, SDL's internal reference counting fails, and one of the surfaces is not freed when calling SDL_FreeSurface.

Example code :

SDL_Surface *s1 = SDL_CreateRGBSurfaceWithFormat(0, 640, 480, 32, SDL_PIXELFORMAT_ARGB8888);
SDL_Surface *s2 = SDL_CreateRGBSurfaceWithFormat(0, 640, 480, 32, SDL_PIXELFORMAT_ARGB8888);

SDL_BlitSurface(s1, NULL, s2, NULL);
SDL_BlitSurface(s2, NULL, s1, NULL);

SDL_FreeSurface(s2);
SDL_FreeSurface(s1);

With this example, s1 is not freed after calling SDL_FreeSurface, its refcount attribute is still positive.
2017-09-04 11:46:14 -07:00
..
atomic Add atomics for Watcom/x86 as inline asm 2017-08-18 16:35:55 -04:00
audio sndio: Patched to compile if SIO_DEVANY isn't defined. 2017-09-02 16:41:14 -04:00
core Fixed compile warning 2017-08-28 14:45:19 -07:00
cpuinfo SDL_cpuinfo.c: add os/2 support to SDL_GetCPUCount() and SDL_GetSystemRAM(). 2017-08-21 13:00:40 -07:00
dynapi Fixed typedef redefinition errors when including both SDL_vulkan.h and vulkan.h 2017-08-27 23:13:15 -07:00
events Fixed mingw Windows build, since SDL_vulkan_internal.h includes windows.h 2017-08-28 00:43:14 -07:00
file Fixed a bunch of compiler warnings. 2017-08-29 15:52:49 -04:00
filesystem filesystem: Patched to compile on QNX. 2017-08-17 03:22:44 -04:00
haptic Renaming of guard header names to quiet -Wreserved-id-macro 2017-08-28 00:22:23 -07:00
joystick macOS: Update controller mapping of Steelseries Stratus XL to account for reversed thumbstick y-axis values (bug #3483). 2017-08-31 22:07:28 -03:00
libm Updated copyright for 2017 2017-01-01 18:33:28 -08:00
loadso Updated copyright for 2017 2017-01-01 18:33:28 -08:00
main Removed the need for libSDL2main.a on Android, and separated JNI initialization out for other integrations 2017-08-28 14:34:15 -07:00
power power: whoops, that should be "==" not "!=". 2017-07-03 16:45:12 -04:00
render Fixed building SDL applications with Visual Studio and the clang toolset 2017-08-19 03:07:44 -07:00
stdlib Fixed a bunch of compiler warnings. 2017-08-29 15:52:49 -04:00
test Added some missing render capability flags 2017-08-29 23:14:39 -07:00
thread Renaming of guard header names to quiet -Wreserved-id-macro 2017-08-28 00:22:23 -07:00
timer Fixed bug 3745 - specify SDLCALL as the calling convention for API callbacks 2017-08-14 06:28:21 -07:00
video Fixed bug 3790 - Memory leak with surfaces blitting on each other 2017-09-04 11:46:14 -07:00
SDL.c Backing out broken change from previous commit. 2017-04-01 00:46:42 -04:00
SDL_assert.c Fixed bug 3744 - missing SDLCALL in several functions 2017-08-13 21:06:52 -07:00
SDL_assert_c.h Updated copyright for 2017 2017-01-01 18:33:28 -08:00
SDL_dataqueue.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
SDL_dataqueue.h Updated copyright for 2017 2017-01-01 18:33:28 -08:00
SDL_error.c Fixed bug 3696 - SDL_ShowMessageBox displays different error from intended 2017-07-10 17:16:12 -07:00
SDL_error_c.h Updated copyright for 2017 2017-01-01 18:33:28 -08:00
SDL_hints.c Updated copyright for 2017 2017-01-01 18:33:28 -08:00
SDL_internal.h Some patches to make SDL compile with armcc (ARM's C compiler). 2017-03-02 13:33:04 -05:00
SDL_log.c Fixed bug 3745 - specify SDLCALL as the calling convention for API callbacks 2017-08-14 06:28:21 -07:00