Commit graph

9855 commits

Author SHA1 Message Date
Ryan C. Gordon
e1c35f01fb OS/2: fixed inverted logic bug (thanks, Ozkan!). 2017-08-25 12:27:18 -04:00
Ryan C. Gordon
abe59c0808 OS/2: proper fix for dynapi (thanks, Ozkan!). 2017-08-25 11:31:12 -04:00
Ethan Lee
6fb747472a Fix KHR_no_error support 2017-08-24 22:57:42 -04:00
Ryan C. Gordon
b82bd0bd37 opengl: add support for GL_KHR_no_error.
This is completely untested!

Fixes Bugzilla #3721.
2017-08-24 21:30:53 -04:00
Ryan C. Gordon
28e9e6c28f dynapi: fill in OS/2 loading code (thanks, Ozkan!).
Partially fixes Bugzilla #3765.
2017-08-22 15:50:39 -04:00
Brandon Schaefer
d4564ef4f5 x11: Move screen_w/h inside the only ifdef they are referenced in to avoid compiler warnings 2017-08-21 23:44:46 -07:00
Brandon Schaefer
0e04e04c4d kmsdrm: Remove moved file 2017-08-21 17:22:00 -07:00
Brandon Schaefer
1b70bac91f kmsdrm: Cleanup unused headers, rename SDL_kmsdrmevents_c.h -> SDL_kmsdrmevents.h
--HG--
rename : src/video/kmsdrm/SDL_kmsdrmevents_c.h => src/video/kmsdrm/SDL_kmsdrmevents.h
2017-08-21 17:20:50 -07:00
Sam Lantinga
897ce9c889 Fixed bug 3768 - provide a quick copysign() solution for watcom
Ozkan Sezer

The following patch provides a quick copysign solution for Watcom/x86
2017-08-21 16:30:24 -07:00
Sam Lantinga
6a65551e8d SDL_thread.h: add missing os/2 defines.
(essentially replicates the windows case || SDL1.2 case.)
2017-08-21 13:01:22 -07:00
Sam Lantinga
4c41e57f57 SDL_dynapi.h: disable dynapi for os/2. 2017-08-21 13:00:58 -07:00
Sam Lantinga
fd5eb6d1f0 SDL_cpuinfo.c: add os/2 support to SDL_GetCPUCount() and SDL_GetSystemRAM(). 2017-08-21 13:00:40 -07:00
Sam Lantinga
1e2f295236 Fixed bug 3761 - Windows non-MinGW cmake build defines HAVE_WCSLCPY and HAVE_WCSLCAT
Tom Seddon

0f0ad62237 (git head at the time of writing); Visual Studio 2015, toolset v140, Platform 10.0.14393.0, building for x64

Windows non-MinGW cmake build sets defines implying wcslcpy and wcslcat are available, but Windows doesn't have these functions.

Ryan C. Gordon

That's weird, these are the exact two functions that Emscripten incorrectly believed it had until we upgraded the buildbot's emsdk install.

Not sure what's up with this, but it's possibly not a MingW-specific thing!
2017-08-21 11:25:04 -07:00
Sam Lantinga
8a1684a382 Fixed bug 3644 - Wayland touch event support
Moritz Bitsch

Attached is a small patch which enables multitouch events on Wayland.
2017-08-21 11:19:38 -07:00
Sam Lantinga
a6c8a8694e configury: check mmdeviceapi.h and audioclient.h before enabling wasapi. 2017-08-21 11:17:38 -07:00
Ryan C. Gordon
9eaf62c483 x11: specify event mask for buttons when grabbing pointer (thanks, Stas!).
This fixes a strange corner case (notes appended below), and should be
safe to do anyhow.

Fixes Bugzilla #3674.

"I did more tests.
It appears the bug only happens if there is
another window on the screen that has "always
on top" property. For me it is xawtv - it is
always opened in a screen corner. Closing
xawtv or removing "always on top" property
from it makes the problem to go away.
Plus, it doesn't appear like the buttons are
not delivered at all. It appears that instead
the button presses are delivered on some mouse
positions, but not delivered when you move the
mouse to other part of the window... So this is
really weird and is likely somewhere deep in the
Xorg.
Maybe somehow it happens that the cursor is
actually above the xawtv window, but, because
my app uses grab, it is not visible there, and
in that case the events are not delivered to
my app?
But with my patch the button events are
always delivered flawlessly, it seems.

Hmm, and that indeed seems to explain my problem:
if the mask is set properly and my app uses
grab, then, even if the mouse is above some
other window, the events would still be delivered
to the grabbing app, which is what actually wanted
because my app uses relative mouse mode, so it
doesn't know the pointer can cross some other window
(my app draws the pointer itself).
So my current theory is that my patch only enforces
the mouse grab, which otherwise can be tricked by
some other window preventing the button events
delivery (but motion events are still delivered
via xinput2, which makes it all look very obscure)."
2017-08-21 00:42:06 -04:00
Ryan C. Gordon
157f916a11 x11: Pass generic XEvents by pointer instead of copying to stack for XInput2. 2017-07-31 12:22:18 -04:00
Ryan C. Gordon
4e99081584 opengl: Add support for [GLX|WGL]_ARB_create_context_robustness.
This patch was originally written by Marc Di Luzio for glX and enhanced by
Maximilian Malek for WGL, etc. Thanks to both of you!

Fixes Bugzilla #3643.
Fixes Bugzilla #3735.

--HG--
extra : rebase_source : 4339a25375897f157f59719876086f84acc10aad
2017-08-19 15:02:03 -04:00
Sam Lantinga
fb57d6a408 add missing os/2 apientry defs to SDL_opengl.h 2017-08-19 11:15:58 -07:00
Sam Lantinga
e9ee7f6f0d Fixed building SDL applications with Visual Studio and the clang toolset
Also fixed building 64-bit SDL with clang. 32-bit doesn't build because of the inline assembly for C runtime support.
2017-08-19 03:07:44 -07:00
Sam Lantinga
319c4a52ce Fixed building with Visual Studio 2017 and the Windows XP toolset if _USING_V110_SDK71_ accidentally gets undefined 2017-08-19 02:23:50 -07:00
Sam Lantinga
dd42d3c67c Added Matt Styles' tutorial on building SDL for Android with Visual Studio 2017-08-19 00:27:11 -07:00
Alex Szpakowski
1fe83fd6eb iOS 10: Work around screen bounds orientation bug. Fixes bugs #3465 and #3505. 2017-08-18 23:23:30 -03:00
Sam Lantinga
d345de0831 Updated version to 2.0.6 2017-08-18 18:16:37 -07:00
Sam Lantinga
d5c138b4f0 Added WASAPI audio target to autoconf build process 2017-08-18 17:29:44 -07:00
Ryan C. Gordon
3db828c0f9 cmake: some iOS fixes (don't link to Cocoa or Carbon frameworks).
Fixes Bugzilla #3625.
2017-08-18 20:25:14 -04:00
Ryan C. Gordon
c95edac3b2 cmake: added a FIXME for later.
Have to figure out what cmake version fixed this and bump the minimum to that.
2017-08-18 20:00:29 -04:00
Ryan C. Gordon
4fa703ae18 configure: Apple platforms don't need to build with -fpascal-strings anymore. 2017-08-18 19:53:40 -04:00
Ryan C. Gordon
950bb27c66 configure: mac and iOS should compile core/unix/*.c
macOS currently needs this if you build with X11 support. iOS doesn't
(currently), but it doesn't hurt to compile it in case we do something
Unixy on that platform later on.
2017-08-18 19:52:58 -04:00
Ryan C. Gordon
90001a14ac cmake: Fix building for macOS with Xcode generator (thanks, dungaipara!).
Fixes Bugzilla #3625.
2017-08-18 18:52:25 -04:00
Ryan C. Gordon
b44189aee2 audio: better docs on conversion APIs, error if not init'd (thanks, Simon!).
Fixes Bugzilla #3662.
2017-08-18 16:52:19 -04:00
Ozkan Sezer
29941a2a2b Add atomics for Watcom/x86 as inline asm
Partially fixes Bugzilla #3758.
2017-08-18 16:35:55 -04:00
Ozkan Sezer
0216e916d3 Watcom supports __FUNCTION__ identifier (and surely not __PRETTY_FUNCTION__)
Partially fixes Bugzilla #3758.
2017-08-17 21:35:46 -04:00
Ozkan Sezer
b9712ca62c SDL_assert.h: add inline asm (int $3) as SDL_TriggerBreakpoint for Watcom/x86
(also disable SIGTRAP case to !watcom, because watcom doesn't have SIGTRAP.)

Partially fixes Bugzilla #3758.
2017-08-17 21:32:42 -04:00
Ozkan Sezer
c9ee33e27b SDL_endian.h: add SDL_Swap16 and SDL_Swap32 for Watcom/x86 as inline asm
Partially fixes Bugzilla #3758.
2017-08-17 21:32:00 -04:00
Ozkan Sezer
e291ae957b SDL_bits.h: add __builtin_clz equivalent for Watcom/x86 as inline asm
Partially fixes Bugzilla #3758.
2017-08-17 21:30:29 -04:00
Ryan C. Gordon
0e7b72b155 SDL_mouse.c doesn't need default_cursor.h. 2017-08-17 20:47:16 -04:00
Ryan C. Gordon
435b6c8522 cmake: add core/unix sources to the build.
Fixes Bugzilla #3757.
2017-08-17 15:44:47 -04:00
Ryan C. Gordon
f07a0b3b5d filesystem: Patched to compile on QNX. 2017-08-17 03:22:44 -04:00
Ryan C. Gordon
d5066e8edb filesystem: QNX should use SDL_LoadFile() instead of rolling it from scratch. 2017-08-17 02:58:46 -04:00
Ryan C. Gordon
edeabbcec9 qnx: Implemented SDL_GetBasePath(). 2017-08-17 01:25:48 -04:00
Ryan C. Gordon
24ac42f8d9 cpuinfo: Add SDL_HasNEON() support for ARM-based QNX.
--HG--
extra : rebase_source : 74fc0cc3f24a3cea51d5217d226f4c3d4de5c9d1
2017-08-16 21:31:03 -04:00
Alex Szpakowski
515e98a487 More cleanup of the iOS keyboard demo. 2017-08-15 23:00:54 -03:00
Alex Szpakowski
c396ee0c3b Improve iOS keyboard demo code a bit. 2017-08-15 22:53:57 -03:00
Alex Szpakowski
30b48f3da5 Address a compiler warning. 2017-08-15 18:29:47 -03:00
Ryan C. Gordon
cd85821b16 rwops: Fixed 64-bit file i/o on QNX. 2017-08-15 16:30:26 -04:00
Sam Lantinga
e2b4d5eb8c Fixed bug 2137 - SDL Message Boxes don't cope with fixed width fonts (in windows at least)
Pegasus Epsilon

With the system dialog font set to Arial or Tahoma or another variable-width font, everything works just as expected. When using a fixed-width font, like Courier or DejaVu Sans Mono, the text gets cut off. Example screenshots attached.
2017-08-14 23:45:06 -07:00
Sam Lantinga
0a931e84e3 Fixed bug 2263 - Event timestamp members are undocumented
Charles Huber

The event timestamp members should be documented to indicate their meaning and units.

Currently the timestamps are populated using SDL_GetTicks() in SDL_PushEvent() in SDL_events.c.
2017-08-14 21:40:40 -07:00
Sam Lantinga
be8eaab7ee Hopefully fixed Wayland build 2017-08-14 21:35:16 -07:00
Sam Lantinga
cd4cfd2c89 Fixed bug 2293 - Precise scrolling events
Martijn Courteaux

I implemented precise scrolling events. I have been through all the folders in /src/video/[platform] to implement where possible. This works on OS X, but I can't speak for others. Build farm will figure that out, I guess. I think this patch should introduce precise scrolling on OS X, Wayland, Mir, Windows, Android, Nacl, Windows RT.

The way I provide precise scrolling events is by adding two float fields to the SDL_MouseWheelScrollEvent datastructure, called "preciseX" and "preciseY". The old integer fields "x" and "y" are still present. The idea is that every platform specific code normalises the scroll amounts and forwards them to the SDL_SendMouseWheel function. It is this function that will now accumulate these (using a static variable, as I have seen how it was implemented in the Windows specific code) and once we hit a unit size, set the traditional integer "x" and "y" fields.

I believe this is pretty solid way of doing it, although I'm not the expert here.

There is also a fix in the patch for a typo recently introduced, that might need to be taken away by the time anybody merges this in. There is also a file in Nacl which I have stripped a horrible amount of trailing whitespaces. (Leave that part out if you want).
2017-08-14 21:28:04 -07:00