Log

Author Commit Date CI Message
Ryan C. Gordon 1e66d457 2017-01-15T05:01:59 audio: Some fixes to the audio data type converter code. Removed some needless things ("len / sizeof (Uint8)"), and made sure the int32 -> float code uses doubles to avoid working with large integer values in a 32-bit float.
Philipp Wiesemann 1e482095 2017-01-14T21:36:06 Fixed comments.
Philipp Wiesemann 06d1d945 2017-01-14T21:35:49 Fixed doxygen warning and linking of function names.
Philipp Wiesemann a812b4eb 2017-01-14T21:35:18 Changed Bugzilla link in README.md to HTTPS like in BUGS.txt.
Philipp Wiesemann 2b481015 2017-01-14T21:34:45 Fixed warnings about missing initializers in testoverlay2 program.
Sam Lantinga 341d1ff9 2017-01-13T11:37:12 Fixed comment
dmuratshin 01f66613 2017-01-12T10:58:35 fixed SENSOR_LANDSCAPE and SENSOR_PORTRAIT mode false nativeResume bug
Sam Lantinga acd76826 2017-01-10T23:23:32 We don't actually build with the Xt library
Sam Lantinga a52d48c5 2017-01-10T08:54:33 Fixed bugs 2570, 3145, improved OpenGL ES context support on Windows and X11 Mark Callow The attached patch does the following for the X11 and Windows platforms, the only ones where SDL attempts to use context_create_es_profile: - Adds SDL_HINT_OPENGL_ES_DRIVER by which the application can say to use the OpenGL ES driver & EGL rather than the Open GL driver. (For bug #2570) - Adds code to {WIN,X11}_GL_InitExtensions to determine the maximum OpenGL ES version supported by the OpenGL driver (for bug #3145) - Modifies the test that determines whether to use the OpenGL driver or the real OpenGL ES driver to take into account the hint, the requested and supported ES version and whether ES 1.X is being requested. (For bug #2570 & bug #3145) - Enables the testgles2 test for __WINDOWS__ and __LINUX__ and adds the test to the VisualC projects. With the fix in place I have run testdraw2, testgl and testgles2 without any issues and have run my own apps that use OpenGL, OpenGL ES 3 and OpenGL ES 1.1.
Sam Lantinga bf11cd50 2017-01-09T20:37:52 Fixed bug 3552 - Building SDL in release mode fails under VS 2017 RC Lukasz Biel Tried to compile SDL2 using newest version of VS. Got: SDL_audiocvt.obj : error LNK2019: unresolved external symbol memcpy referenced in function SDL_ResampleCVT 1>E:\Users\dotPo\Lib\SDL\VisualC\x64\Release\SDL2.dll : fatal error LNK1120: 1 unresolved externals whole compilation process: http://pastebin.com/eWDAvBce Steps to reproduce: clone http://hg.libsdl.org/SDL using tortoise hg, open SDL\VisualC\SDL.sln, when promted if should retarget solution click ok, select release x64 build type, Build/Build Solution attempt 2, using Visual Studio cmake support: open folder SDL\ select release x64 build type, run CMake\Build CMakeLists.txt build fails When switched to debug build type, buils succeeds in both cases. VS 2017 is still beta.
Ryan C. Gordon 23020f92 2017-01-09T16:31:57 audio: Don't ever use libsamplerate in the SDL_AudioCVT codepath. It causes audio pops if you're converting in chunks (and needs to allocate/initialize/free on each convert). We'll either adjust this interface when we break ABI for 2.1 to make this usable, or publish the SDL_AudioStream API for those that want a streaming solution. In the meantime, the "simple" resampler produces "good enough" audio without pops and doesn't have to be initialized, so that'll do for now on the SDL_AudioCVT interface.
Ryan C. Gordon 97f19cc3 2017-01-09T15:56:11 testresample: write correct length to the .wav header.
Sam Lantinga ad7c26ff 2017-01-09T11:58:01 We only need the first few keymaps corresponding to the following constants: K_NORMTAB, K_SHIFTTAB, K_ALTTAB, K_ALTSHIFTTAB In the normal case we'll load all the keymaps from the kernel, but this reduces the size of the SDL library for the fallback case when we can't get to the tty.
Sam Lantinga 6d6edcb8 2017-01-09T11:30:29 Fixed spacing
Sam Lantinga 4e9c9fce 2017-01-09T10:10:33 Fixed bug 3100 - SetSwapInterval should now be enabled for ANGLE/EGL Mark Logan 2015-08-24 15:57:50 UTC In SDL_windowsopengles.c, WIN_GLES_SetSwapInterval is as follows: WIN_GLES_SetSwapInterval(_THIS, int interval) { /* FIXME: This should call SDL_EGL_SetSwapInterval, but ANGLE has a bug that prevents this * from working if we do (the window contents freeze and don't swap properly). So, we ignore * the request for now. */ SDL_Log("WARNING: Ignoring SDL_GL_SetSwapInterval call due to ANGLE bug"); return 0; } With a recent version of ANGLE (early July) calling SDL_EGL_SetSwapInterval with a D3D11 backend appears to work just fine. I am working on testing this with D3D9. -- Alex Szpakowski I found the bug, it was fixed in 2013. https://bugs.chromium.org/p/angleproject/issues/detail?id=481 In my opinion it should be safe to unconditionally use SetSwapInterval now. Anyone who encounters the bug should update their ANGLE to a version less than 3 years old, especially since they'd be using a SDL version that's 3+ years newer than their ANGLE version.
Ryan C. Gordon 063c9d40 2017-01-09T06:00:58 audio: Replaced older resamplers in SDL_AudioCVT with the new ones.
Ryan C. Gordon a41103b1 2017-01-09T05:59:30 audio: Patched to compile if linking directly to libsamplerate.
Sam Lantinga e0a40fb6 2017-01-09T02:54:42 Implemented full evdev keyboard text support This is based on the Linux kernel driver, and has fallback mapping tables in case we aren't connected to a virtual terminal.
Sam Lantinga 49292705 2017-01-08T20:03:18 Fixed bug 3545 - SDL_EVDEV_do_text_input() may be too eager to find error cases Rob I've ran into an issue where I successfully receive SDL_KEY[UP,DOWN] events but not SDL_TEXTINPUT or SDL_TEXTEDITING. In my case the code in SDL_EVDEV_do_text_input() is returning early (on error) prior to calling SDL_SendKeyboardText(). I'm running on the RaspberryPi 3, without X11. In SDL_EVDEV_do_text_input() there is a condition to check keysyms with a type value below 0xf0, then subtract 0xf0 from type. Without understanding the purpose of this code, I disabled it, recompiled, and I'm getting correct SDL_TEXTINPUT events. I'm going to guess that my hack/fix is going to be problematic in some other environment, but after some initial testing it looks like everything is running fine in my setup.
Sam Lantinga 7b66295e 2017-01-08T19:04:38 Removed console check, let the kernel decide whether muting is appropriate on this terminal. We don't fail the init if we can't mute the terminal (we might be running from ssh, or on a system without virtual terminals, etc.)
Sam Lantinga c16dd74f 2017-01-08T18:32:20 Check the return value of SDL_EVDEV_Init()
Ryan C. Gordon 38854e03 2017-01-08T16:18:49 audio: Improvements in channel conversion code.
Ryan C. Gordon 35166609 2017-01-08T14:28:44 audio: Patched to compile with libsamplerate support (again).
Ryan C. Gordon d005dc21 2017-01-08T14:23:15 audio: Patched to compile with libsamplerate support.
Ryan C. Gordon 19e937fc 2017-01-08T14:18:03 audio: libsamplerate loading now happens once at init time.
Ryan C. Gordon 98cc9d10 2017-01-08T14:17:09 Fixed coding style on a function signature.
Ryan C. Gordon 53588ff6 2017-01-08T14:16:19 README-linux: added notes about libsamplerate.
Sam Lantinga 25b47ea3 2017-01-08T10:52:02 Fixed attempting to dynamically load libsamplerate when shared object loading is disabled. Thanks to Ozkan Sezer for pointing this out
Sam Lantinga 9d9e92cf 2017-01-08T10:41:22 Fixed bug 3304 - Android black screen on resume Richard Russell Resuming from a suspended state results in a black screen. This only happens when using GLES 1.1 (GLES 2 resumes correctly) and when the render target has been changed using SDL_SetRenderTarget. This problem is new in 2.0.4. The attached test case demonstrates the issue. Sylvain Becker has apparently found a fix as follows: "In the opengles leaf function (in 'src/render/opengles/SDL_render_gles.c'), it appears there is a call to 'GLES_ActivateRenderer' in 'GLES_SetRenderTarget', which is not present in opengles2. When commenting out this 'GLES_ActivateRenderer', it seems to resume fine". This appears to fix the testcase perfectly, but I don't know whether it could have any undesirable side-effects.
Sam Lantinga b8ab4eb9 2017-01-08T10:15:22 SDL_evdev.c: fix building against old kernel headers (K_OFF may not be defined.)
Ryan C. Gordon 70c8bd24 2017-01-07T22:24:45 Fixed a bunch of compiler warnings in the test code.
Ryan C. Gordon 13f2e542 2017-01-07T19:55:29 x11: make the X11 target work on macOS with Xquartz.
Sam Lantinga e25f4e50 2017-01-07T16:51:48 Really fixed blit issue for capehill
Sam Lantinga 7e505b0d 2017-01-07T16:49:23 Don't fail if we can't open the tty, this can be a legitimate use case.
Ryan C. Gordon 61a3ba30 2017-01-07T17:09:14 Replaced a few single-line "//" comments.
Sam Lantinga 267c9509 2017-01-07T13:47:34 Added mappings for the 8Bitdo NES30 Pro and iBuffalo SNES Controller Also swapped the Wii U Pro controller button mappings to position instead of label, as emulators expect from XBox controllers.
Sam Lantinga e9c2dcda 2017-01-07T10:13:04 Fixed bug 3469 - Keypresses leak to the console with 2.0.5 tvc I believe this patch should fix it, instead of looping through all the tty's and seemingly selecting the wrong one and corrupting the console I've just made SDL open /dev/tty which is the console attached to the current process anyway.
Sam Lantinga df25258a 2017-01-06T20:43:53 Added configure and cmake support for libsamplerate
Ryan C. Gordon c5825b69 2017-01-06T21:23:51 audio: Don't call a NULL function pointer when clearing audio streams. (Partially?) fixes Bugzilla #3547.
Ryan C. Gordon c1ac4c68 2017-01-06T21:17:33 Better fix for static analysis issue in SDL_DestroyRenderer(). Follow up fix for Bugzilla #3544.
Ryan C. Gordon 5fcd454a 2017-01-06T20:00:17 emscripten-buildbot.sh: let user override default SDKDIR.
Sam Lantinga cbe44f7f 2017-01-06T02:16:26 Added support for using libsamplerate to do audio resampling
Sam Lantinga 37f404fb 2017-01-06T00:47:42 Fixed confusion between Ryan's new audio stream and the audio buffer we were calling stream in the callback
Sam Lantinga 3df77ced 2017-01-06T00:40:22 Just roll back the entire portion of the commit from a8253d439914 which caused bug 3544 until we figure out what the right static analysis fix is.
Ryan C. Gordon 748f4605 2017-01-06T03:38:14 audio: Add an assert to make sure non-streaming audio uses good buffer sizes.
Sam Lantinga 356c2ead 2017-01-06T00:32:06 Fixed bug 3544 - Memory freeing bug in SDL_DestroyRenderer/SDL_DestroyTexture felix Here's a snippet of SDL_DestroyRenderer from hg revision 10746:7540ff5d0e0e: SDL_Texture *texture = NULL; SDL_Texture *nexttexture = NULL; /* ... */ for (texture = renderer->textures; texture; texture = nexttexture) { nexttexture = texture->next; SDL_DestroyTexture(texture); } SDL_DestroyTexture removes the texture from the linked list pointed to by the renderer and ends up calling SDL_DestroyTextureInternal, which contains this: if (texture->native) { SDL_DestroyTexture(texture->native); } If it happens that texture->native is an alias of nexttexture two stack frames up, SDL_DestroyRenderer will end up trying to destroy an already freed texture. I've had this very situation happen in dosemu2. Bug introduced in revision 10650:a8253d439914, which has a somewhat ironic description of "Fixed all known static analysis bugs"...
Ryan C. Gordon 345c5989 2017-01-06T03:15:27 haiku: Patched to compile.
Sam Lantinga 3443dc19 2017-01-05T23:53:46 Don't do any audio conversion if none is necessary
Sam Lantinga 41be9756 2017-01-05T23:26:13 Fixed bug 3546 - SDL_EVDEV_is_console() uses type of wrong size when calling ioctl Rob When calling ioctl(fd, KDGKBTYPE, &type) in SDL_EVDEV_is_console(), we declare type as an 'int'. This should be a 'char'. The subsequent syscall, and kernel code, only writes the lower byte of the word. See: http://lxr.free-electrons.com/source/drivers/tty/vt/vt_ioctl.c?v=4.4#L399 ucval = KB_101; ret = put_user(ucval, (char __user *)arg); I've observed intermittent behavior related to this, and I can force an error condition by using an int initialized to 0xFFFFFFFF. The resulting ioctl will set type to 0XFFFFFF02, and the conditional return in SDL_EVDEV_is_console() will fail. Recommend changing to char, or masking off unused bits.
Ryan C. Gordon b3e8db80 2017-01-06T01:07:34 audio: rename fake_stream to work_buffer. It's more than an alternative for when the OS can't provide a DMA buffer, now.
Ryan C. Gordon 992124d4 2017-01-06T01:02:58 audio: Fixed SDL_AudioStreamGet() function parameters. There was a draft of this where it did audio conversion into the final buffer, if there was enough room available past what you asked for, but that interface got removed, so the parameters didn't make sense (and we were using the wrong one in any case, too!).
Ryan C. Gordon 99fc1ef9 2017-01-06T00:56:29 naclaudio: Untested attempt to migrate to SDL_AudioStream.
Ryan C. Gordon 115d0ce7 2017-01-06T00:50:01 haikuaudio: Untested attempt to get this working with SDL_AudioStream.
Ryan C. Gordon 1a90c72d 2017-01-06T00:49:35 emscriptenaudio: don't get stuck in infinite loop if SDL_AudioStreamPut fails.
Ryan C. Gordon f07a1a5a 2017-01-05T21:31:02 emscriptenaudio: Reworked to use SDL_AudioStream.
Ryan C. Gordon 3761b5f6 2017-01-05T20:11:19 Fixed a few compiler warnings.
Ryan C. Gordon 4aa9e369 2017-01-05T19:45:57 Patched to compile on some compilers.
Ryan C. Gordon 52130bde 2017-01-05T19:30:45 diskaudio: Use SDL_Log, not fprintf.
Ryan C. Gordon 30178a9b 2017-01-05T19:29:38 audio: Added SDL_AudioStream. Non-power-of-two resampling now works!
Ryan C. Gordon f12ab8f2 2017-01-05T19:12:20 audio: More effort to improve and simplify audio resamplers.
Sam Lantinga d024c724 2017-01-05T08:16:39 Fixed signedness issue when blitting on a big endian platform, as reported by capehill For example, if sR is 0 and dR is 255, we will get -255*sA casted to an unsigned value. Basically results are quite large numbers instead of the expected 0-255 range.
Sam Lantinga e6e6613c 2017-01-05T02:53:29 Fixed build warning on Haiku
Sam Lantinga 4938c505 2017-01-04T10:28:07 Added SDL_JoystickGetAxisInitialState() to get a joystick axis' initial value. This is useful for controller mapping programs to determine an axis' zero state
Sam Lantinga 99e10ef5 2017-01-04T07:06:48 Assume D-pad or thumbstick style axes are centered at 0
Ryan C. Gordon 9d042052 2017-01-04T09:33:47 x11: deal with xrandr display size in millimeters being zero. Xquartz on macOS reports a zero size, which leads to a division by zero here.
Sam Lantinga 26f84d74 2017-01-04T06:21:17 Added mappings for several GameCube and SNES controllers
Sam Lantinga d2a01b6e 2017-01-04T06:19:56 Added the NEXT SNES Controller to the list of zero-centered joysticks
Sam Lantinga c7780497 2017-01-04T05:56:47 Increased joystick jitter tolerance for PS3 controllers
Sam Lantinga 1ddff75c 2017-01-04T05:09:02 Some controllers have trouble getting out to 20000
Sam Lantinga 082132a7 2017-01-03T23:39:28 Fixed binding the D-pad on some Super NES style controllers Fixed a case where partial trigger pull could be bound to another button There is a fundamental problem not resolved by this commit: Some controllers have axes (triggers, pedals, etc.) that don't start at zero, but we're guaranteed that if we get a value that it's correct. For these controllers, the current code works, where we take the first value we get and use that as the zero point and generate axis motion starting from that point on. Other controllers have digital axes (D-pad) that assume a zero starting point, and the first value we get is the min or max axis value when the D-pad is moved. For these controllers, the current code thinks that the zero point is the axis value after the D-pad motion and this doesn't work. My hypothesis is that the first class of devices is more common and that we should solve for that, and add an exception to SDL_JoystickAxesCenteredAtZero() as needed for the second class of devices.
Sam Lantinga d3591800 2017-01-03T00:44:05 Fixed bug 3519 - SDL_GetDisplayMode fails to report mode.format when using Wayland backend Ryan C. Gordon Kristian says you can't do it with Wayland, and that going forward, it'll just handle whatever you throw at it anyhow. https://twitter.com/hoegsberg/status/816148272402165761 So I say we mark it SDL_PIXELFORMAT_RGB888, which is what my X11 display currently reports, and leave it at that.
Sam Lantinga 18d9b23c 2017-01-02T10:30:32 Fixed bug 3539 - SDL2, missing MIR LDFLAGS Gianfranco Hello, this is the failure I got https://launchpadlibrarian.net/300679206/buildlog_ubuntu-zesty-amd64.libsdl2_2.0.5+dfsg1-2ubuntu1_BUILDING.txt.gz LTLINK build/libSDL2.la build/.libs/SDL_mirvideo.o: In function `MIR_InitDisplayFromOutput': ././src/video/mir/SDL_mirvideo.c:258: undefined reference to `mir_output_get_current_mode' collect2: error: ld returned 1 exit status
Sam Lantinga 67ed8943 2017-01-01T19:10:36 Fixed bug 3529 - SDL_EGL_UnloadLibrary is not called at all on SDL_Quit kaisyu In case of OpenGLES, the sequences of loading and unloading driver library should be like that: SDL_Init ... SDL_GL_LoadLibrary SDL_EGL_LoadLibrary ... SDL_Quit ... SDL_GL_UnloadLibrary SDL_EGL_UnloadLibrary ... However, according to my test results, the varible '_this->gl_config.driver_loaded' does not allow 'SDL_GL_UnloadLibrary' to call 'SDL_EGL_UnloadLibrary'.
Sam Lantinga 0badbdde 2017-01-01T18:47:29 Run sed in binary mode so we don't have to worry about fixing line endings
Sam Lantinga 9e6d729e 2017-01-01T18:36:35 Fixed typo in copyright update script
Sam Lantinga 45b774e3 2017-01-01T18:33:28 Updated copyright for 2017
Sam Lantinga 0f586d58 2017-01-01T18:32:57 Convert some files back into DOS line endings after updating copyright
Sam Lantinga 49225f5f 2016-12-31T18:11:19 We don't currently support blitting to < 8 bpp surfaces, return an error instead of corrupting memory in that case.
Sam Lantinga 2ba66d05 2016-12-31T16:21:55 Fixed bug 3535 - Misplaced comment #if/#endif closure comment Coriiander This notice is about a misplaced comment. Often times when we use an #if #endif sequence, the #endif is followed by a comment to indicate what #if statement it belonged to. The SDL_xaudio2.c file contains a misplaced comment, as follows (I stripped the other comments): #ifdef __GNUC__ # define SDL_XAUDIO2_HAS_SDK 1 #elif defined(__WINRT__) # define SDL_XAUDIO2_HAS_SDK #include "SDL_xaudio2.h" #else #if 0 #include <dxsdkver.h> #if (!defined(_DXSDK_BUILD_MAJOR) || (_DXSDK_BUILD_MAJOR < 1284)) # pragma message("Your DirectX SDK is too old. Disabling XAudio2 support.") #else # define SDL_XAUDIO2_HAS_SDK 1 #endif #endif #endif /* 0 */ That final /* 0 */ should be moved one line up. Like this (I tabbed it out for you to make it more clear):
Sam Lantinga 880842cf 2016-12-31T16:14:51 Fixed bug 3531 - internal SDL_vsnprintf implementation access memory outside given buffer ranges Tristan The internal SDL_vsnprintf implementation accesses memory outside buffer. The bug existed also inside the format (%) processing, which was fixed with Bug 3441. But there is still an invalid access, if we do not have any format inside the source string and the destination string is shorter than the format string. You can use any string for this test, as long it is longer than the buffer. Example: va_list argList; char buffer[4]; SDL_vsnprintf(buffer, sizeof(buffer), "Testing", argList); The bug is located on the 'else' branch of the format char test: while (*fmt) { if (*fmt == '%') { ... } else { if (left > 1) { *text = *fmt; --left; } ++fmt; ++text; } } if (left > 0) { *text = '\0'; } As you can see that text is always incremented, even when left is already one. When then on the last lines, *text is assigned the NULL char, the pointer is located outside bounds.
Sam Lantinga 7f2068da 2016-12-31T10:30:07 Fixed bug 3541 - DisplayIndex out of bounds in SDL_SetWindowPosition Intellectual Kitty In SDL_video.c, on line #1756, in SDL_SetWindowPosition (from today's distribution, 12-31-2016, https://hg.libsdl.org/SDL/shortlog/bf19e0c84483): if (displayIndex > _this->num_displays) { should be: if (displayIndex >= _this->num_displays) {
Philipp Wiesemann e61daa72 2016-12-30T19:57:50 Fixed warning and missing animation delay in testoverlay2 program.
David Ludwig 0cfa0aa1 2016-12-29T11:49:18 improved SDL_GetError() output generated by EGL code This change attempts to report the EGL error codes generated by SDL's calls into EGL, along with the name of the EGL function that failed.
Philipp Wiesemann c2b90f2d 2016-12-28T20:11:29 Fixed compiling of testgamecontroller program with C++.
Philipp Wiesemann de79828b 2016-12-28T20:11:12 Fixed warning about unused variable in controllermap program.
Philipp Wiesemann af263798 2016-12-28T20:10:48 Fixed crash if allocating memory for game controller failed.
Ryan C. Gordon 2e2572a4 2016-12-27T23:48:43 Added SDL_ReserveSpaceInDataQueue() to make space without copying data.
Sam Lantinga 8000e6d9 2016-12-27T09:59:36 Added documentation for the game controller axis values
Sam Lantinga 21cb42d7 2016-12-27T09:51:58 Make sure we go all the way back (within the XBox controller dead zone) to prevent accidentally binding axes inverted
Sam Lantinga cb8685c0 2016-12-27T02:04:38 Fixed comment style
Sam Lantinga 6d7da088 2016-12-27T01:39:07 Split controller axes into positive and negative sides so each can be bound independently. Using this a D-Pad can be mapped to a thumbstick and vice versa. Also added support for inverted axes, improving trigger binding support
Ryan C. Gordon 7c316366 2016-12-26T23:02:14 x11: Don't loop forever if the X server refuses a pointer grab.
Ryan C. Gordon 76f2ae3c 2016-12-26T22:58:58 Don't use pushd/popd in autogen.sh; Ubuntu's /bin/sh doesn't support it.
Sam Lantinga b4e069e7 2016-12-26T02:12:21 Fixed bug 3517 - Compiler warnings with gcc -Wstrict-prototypes felix Compiling even a simple SDL2 'hello world' program with gcc -Wstrict-prototypes (GCC 6.2.1) results in warnings like: /usr/include/SDL2/SDL_gamecontroller.h:143:1: attention : function declaration isn't a prototype [-Wstrict-prototypes] extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings(); ^~~~~~ It seems there is a missing 'void' between the parentheses.
Sam Lantinga 9492492d 2016-12-26T01:56:52 Fixed bug 3516 - fix build on illumos Sylvain trivial patch to fix the build on illumos -Werror=declaration-after-statement https://gist.github.com/wiedi/15b71456667f7aa2a7f8815663723bb3
Alex Szpakowski fd85f574 2016-12-23T22:49:37 Mac: back out commit 3e9b2ae41adf. It causes significant overhead on many GPUs.
Alex Szpakowski d719374c 2016-12-23T22:08:18 Mac: Fix over-saturated colors on P3 displays (e.g. the 2016 MBPs).
Philipp Wiesemann 3e928451 2016-12-23T20:36:24 Windows: Fixed compile error.
Philipp Wiesemann 7c60a638 2016-12-23T20:36:12 Corrected header file guard comments.
Sam Lantinga 4fc0fe1f 2016-12-23T02:23:44 Removed debug print statements