Commit graph

5791 commits

Author SHA1 Message Date
Philipp Wiesemann
27d4a625ba Corrected documentation errors in header file. 2013-05-26 12:30:52 +02:00
Philipp Wiesemann
c1b6e05455 Fixed wrong documentation for haptic implementation. 2013-05-26 12:15:15 +02:00
Philipp Wiesemann
c30845f58b Fixed test description in test suite for standard library. 2013-05-26 12:12:52 +02:00
Philipp Wiesemann
a5ba9c22a7 Changed three similar error messages to contain more context. 2013-05-26 11:54:17 +02:00
Sam Lantinga
f423813732 Fixed Windows build 2013-05-24 03:29:31 -07:00
Sam Lantinga
03210bff7e Added the beginning of automated tests for the standard C library routines.
Implemented more SDL_snprintf format specifiers.
2013-05-24 03:23:21 -07:00
Sam Lantinga
00abdbbc2a Added a newline to OutputDebugString(), fixes output on Visual Studio 2008 2013-05-23 23:27:48 -07:00
Edward Rudd
0ce4bb89d8 Only free EventData if it's successfully retrieved.
- straight from http://who-t.blogspot.com/2009/07/xi2-and-xlib-cookies.html
- hopefully fixes random crash on some systems
2013-05-23 18:45:14 -04:00
Sam Lantinga
9e842c74c1 Fixed Haiku build issue with missing extension support.
The visibility attribute warnings in Haiku gl.h can be fixed by editing gl.h and changing the line:
#elif defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
to
#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))

as described in: http://dev.haiku-os.org/ticket/8882
2013-05-21 22:48:50 -07:00
Ryan C. Gordon
a106589b14 Patched to compile with older glext.h that don't have GL_NUM_EXTENSIONS.
--HG--
extra : rebase_source : e2ece9401f8f324875930d35c61514920732087b
2013-05-22 01:36:37 -04:00
Sam Lantinga
e2039118c2 The Haiku install location fix needs to get into configure 2013-05-21 22:35:13 -07:00
Ryan C. Gordon
077cd8d398 Use glGetStringi() for extension lookup on OpenGL contexts >= version 3.0.
Fixes Bugzilla #1620.

--HG--
extra : rebase_source : 5fa86e8591bfea85e1adf8a495a7b32c3d5dacd5
2013-05-22 01:31:04 -04:00
Sam Lantinga
a1b0f0566b Fixed macro line endings after whitespace was fixed 2013-05-21 22:04:14 -07:00
Sam Lantinga
e2929bcb73 Fixed bug 1534 - SIGSEGV in SDL_ConvertSurface() for certain formats in SDL2
Don't assume that 8 bit formats are indexed.
Thanks to Gabriel Jacobo for research and potential patches.
2013-05-21 22:01:18 -07:00
Ryan C. Gordon
80d6ec24cd Backed out changeset b69dfd56e1b0
This was clearly not the right fix.
2013-05-21 23:35:45 -04:00
Ryan C. Gordon
a32de58414 Attempt to fix Haiku buildbot (and other systems with an old glext.h). 2013-05-21 23:13:52 -04:00
Ryan C. Gordon
c950178124 Patched to compile on older Mac OS X devtools (thanks, D B!). 2013-05-21 23:02:16 -04:00
Sam Lantinga
adb0413171 Fixed bug Bug 1817 - Haiku uses wrong default install prefix
Axel Dörfler

Currently, the default install target for Haiku is /boot/develop/tools/gnupro. However, this is not the expected install place. Instead, /boot/common should be used.
2013-05-21 00:49:31 -07:00
Sam Lantinga
c2805292c8 Fixed bug 1856 - (Patch) More bits for SDL_MouseMotionEvent.state
Gerry JJ

The state bitmask in SDL_MouseMotionEvent is stored in an Uint8. Unfortunately this doesn't actually have room for 8 buttons because SDL skips 4 button indices after the third mouse button (at least here on Linux x86-64, probably related to wheel handling?), so it's really just enough to track 4 buttons. For example, on a Logitech MX310 mouse I've got, even though the mouse has 6 buttons total, the left and right side buttons and extra middle button have indexes 8, 9 and 10, and the last two won't fit in the 8 bit button state.

The source of the button state (in SDL_Mouse) is already 32-bit, and the state field in SDL_MouseMotionEvent is 32-bit aligned and followed by three 8-bit padding fields. So simply changing the SDL_MouseMotionEvent state to an Uint32 and removing the padding fields fixes this, and I think it should be binary compatible, at least for little endian.
2013-05-20 23:57:10 -07:00
Sam Lantinga
44ae527164 Fixed bug 1148 - SDL window white upon first appearing
To be consistent with other platforms, we'll use black as the background color.
2013-05-20 23:30:08 -07:00
Sam Lantinga
3d5e0ce562 Fixed bug 1113 - SDL_SetEventFilter()'s event deletion process is not safe against intervening event push.
This is not completely thread-safe since it's possible for an event to come in and be unfiltered between the flush call and the setting of the new filter, but it's much better than it was.
2013-05-20 23:04:25 -07:00
Sam Lantinga
97fba74bda Fixed bug 731 - No mechanism to extract the NSView for 3d library 2013-05-20 22:05:49 -07:00
Sam Lantinga
2f9ac5db94 Fixed losing ALT key modifiers on Unity 2013-05-20 12:25:16 -07:00
Sam Lantinga
f56b6fdc45 It turns out that GL_ARB_debug_output is really only useful on debug contexts, so for consistency and performance we'll only check and report errors on debug contexts.
I added a --gldebug command line option for the test programs to easily test this, and we may want a hint as well to enable OpenGL error checking.
2013-05-20 12:01:31 -07:00
Sam Lantinga
635a32ed58 Fixed declaration of GL_HandleDebugMessage 2013-05-19 22:57:01 -07:00
Sam Lantinga
11dfd2bff8 Fixed windows build 2013-05-19 22:45:52 -07:00
Sam Lantinga
30a001fdfa Fixed bug 1842 - [patch] SDL_SetWindowPosition sets bad position values when given SDL_WINDOWPOS_CENTERED args
Alex Szpakowski

When calling SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED), the window moves to the correct position but it seems to internally set its x/y position values to the literal value of the SDL_WINDOWPOS_CENTERED define.
This causes all sorts of problems when SDL functions which use the window position (e.g. SDL_SetWindowGrab) are called after the aforementioned SDL_SetWindowPosition call.

Looking at the SDL_SetWindowPosition code, it seems that SDL_SendWindowEvent with the SDL_WINDOWEVENT_MOVED event is called at the end of the function using the literal value of the SDL_WINDOWPOS_CENTERED define, instead of the newly set window->x and window->y values.
SDL_SendWindowEvent then sets the values of window->windowed.x and window->windowed.y to that value (0x2FFF0000, aka 805240832.)

I have attached a patch which changes SDL_SetWindowPosition to make sure SDL_SendWindowEvent is called with the correct coordinate values, if SDL_WINDOWPOS_CENTERED is used (fixes the issue for me.)

Tested with Mac OS 10.8.3.
2013-05-19 22:36:54 -07:00
Sam Lantinga
91ff680aa5 Fixed bug 1837 - Use error extension instead of glGetError()
Implemented support for GL_ARB_debug_output, but was unable to test it on Mac OS X.
2013-05-19 22:28:10 -07:00
Andreas Schiffler
750f6fb9d9 Deprecate test/automated and test/test-automation (replaced by test/testautomation*.*) 2013-05-18 23:32:53 -07:00
Sam Lantinga
71d173a062 Fixed black screen on iOS 2013-05-18 14:51:29 -07:00
Sam Lantinga
0cb6385637 File style cleanup for the SDL 2.0 release 2013-05-18 14:17:52 -07:00
Sam Lantinga
2ac8624930 Added mobile application events, with implementations for iOS and Android 2013-05-18 12:48:50 -07:00
Andreas Schiffler
2ff60371f5 Update test harness to handle test return codes; fix comment format in harness; update Main test suite to handle globally disabled features 2013-05-18 09:35:09 -07:00
Philipp Wiesemann
f86b25c56e Fixed Doxygen warnings. 2013-05-18 14:48:19 +02:00
Philipp Wiesemann
7615624d82 Corrected comment in Java file. 2013-05-18 14:04:37 +02:00
Philipp Wiesemann
5126239a00 Changed import statements in Java file. 2013-05-18 14:03:45 +02:00
Ryan C. Gordon
da8a1bb74f Made SDL_RectEmpty and SDL_RectEquals macros into SDL_FORCE_INLINE functions.
Fixes compiler warnings for things like this...

  if (SDL_RectEmpty(&rect)) {}

...where the macro turned into "if ( (!(&rect)) && etc )" which some compilers
thought might be a programmer mistake, as "&rect" is always "true".
2013-05-16 12:16:12 -04:00
Sam Lantinga
7ebe7ed128 Fixed bug 1829 - sdl2-config is not executable
leighmanthegreat@hotmail.com

I downloaded SDL2 from hg source.
I built to a ./build directory.
I downloaded SDL_image 2 hg and attempted to build.
When it cannot find a sdl2-config the SDL_image configure correctly suggests setting SDL_CONFIG variable.
Setting this the configure still fails with 'Permission denied' on the call to sdl2-config.
Setting execute permission solves the problem.

If possible, sdl2-config should have executable bit set when it is created.
2013-05-16 01:03:28 -07:00
Sam Lantinga
cbe94acd8e Fixed bug 1838 - [Patch] Direct3D resource leak on SDL_DestroyRenderer() 2013-05-16 00:56:19 -07:00
Sam Lantinga
cc6f700f06 Fixed bug 1839 - SDL2 Cmake: VIDEO_COCOA check fails on OS X; VIDEO_COCOA sources aren't compiled. 2013-05-16 00:52:33 -07:00
Sam Lantinga
bc7136f5ba Martin Gerhardy added support for the Jess Technology USB Game Controller 2013-05-16 00:48:20 -07:00
Sam Lantinga
128b8ca895 Fixed bug 1846 - _allmul implementation in SDL_stdlib.c doesn't clean up the stack
Colin Barrett

I see this manifest itself (VS2012 x86) as:

"Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention."

in the first call to SDL_GetTicks in my application. The disassembly at the problem line is:

        hires_now.QuadPart *= 1000;
00AD0792  push        0
00AD0794  push        3E8h
00AD0799  mov         eax,dword ptr [ebp-10h]
00AD079C  push        eax
00AD079D  mov         ecx,dword ptr [hires_now]
00AD07A0  push        ecx
00AD07A1  call        _allmul (0AE7D40h)
00AD07A6  mov         dword ptr [hires_now],eax
00AD07A9  mov         dword ptr [ebp-10h],edx

Apparently _allmul should be popping the stack but isn't (other similar functions in SDL_stdlib.c - _alldiv and whatnot - DO pop the stack).

A 'ret 10h' at the end of _allmul appears to do the trick
2013-05-16 00:43:22 -07:00
Sam Lantinga
e8051fbb53 There's no need to keep these private. If you extend SDLActivity, you should know what you're doing. 2013-05-15 23:18:29 -07:00
Philipp Wiesemann
20ff4d06d8 Corrected internal function prototype. 2013-05-15 22:25:00 +02:00
Philipp Wiesemann
c5b6e3c9e1 Corrected internal function prototype. 2013-05-15 22:24:23 +02:00
Philipp Wiesemann
d3b85c8965 Changed spelling for consistency. 2013-05-15 22:10:06 +02:00
Philipp Wiesemann
74047a3267 Fixed Doxygen warnings. 2013-05-15 22:00:28 +02:00
Philipp Wiesemann
699341597a Corrected spelling in header file. 2013-05-13 23:00:50 +02:00
Philipp Wiesemann
337c6acc60 Inlined expression for consistency in render source. 2013-05-13 22:45:06 +02:00
Andreas Schiffler
db04389abc Fix fuzzer/fuzzer tests on 64bit Linux; remove invalid negative SDL_Scancode test; disable failing surface/render test cases 2013-05-12 15:00:00 -07:00