Commit graph

6228 commits

Author SHA1 Message Date
Sam Lantinga
ccb139c73a A little cleanup on the cleanup, just for consistency. 2013-07-23 19:18:01 -07:00
Jørgen P. Tjernø
aa5f318964 = {{0}} generates a memset() in MSVC, which isn't linked. Whoops! 2013-07-23 17:40:18 -07:00
Jørgen P. Tjernø
8c0d5be080 Fix build errors from last change. 2013-07-23 17:40:16 -07:00
Jørgen P. Tjernø
e007150b45 Fix some clang analyzer warnings.
This fixes some analyzer warnings and a couple of minor memory leaks.
2013-07-23 17:40:13 -07:00
Jørgen P. Tjernø
b01b128353 Mac: Codify SDK and OS requirements, and clean up.
This #errors if you're using an SDK or deployment target that is less
than 10.6 and 10.5, respectively, and cleans up uses of
MAC_OS_X_VERSION_MIN_REQUIRED and MAC_OS_X_VERSION_MAX_ALLOWED according
to those requirements.
2013-07-23 17:38:59 -07:00
Sam Lantinga
defb16763d Add a timeout to the clipboard code to avoid hangs when using synergy. When a timeout is detected we set the clipboard so that we own it so that future timeouts are avoided. Testing has confirmed that this timeout and setting only occurs when the clipboard contains text from my Windows machine.
That is, if you copy from the Windows clipboard and then launch Dota and then repeatedly paste to a terminal window then the text will disappear when Dota hits the timeout. If you then select on the Linux side you can repeatedly paste. If you select again on Windows then the text will get cleared again.

Note that Dota only looks at the clipboard when it has focus.

CR: Saml
2013-07-23 12:59:29 -07:00
Sam Lantinga
08e8f26d62 Added Direct3D shader to hardware accelerate YV12 and IYUV textures. 2013-07-23 12:55:19 -07:00
Sam Lantinga
6f83bd0e2a Finished updating testoverlay2 for the new API and added it to the Visual Studio 2010 projects 2013-07-23 12:46:22 -07:00
Sam Lantinga
a7954b42d0 Fixed SDL printf output for 0x%.8x 2013-07-23 12:44:14 -07:00
Sam Lantinga
32188834b5 Updated blend semantics so blending uses the following formula:
dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
    dstA = srcA + (dstA * (1-srcA))
This allows proper compositing semantics without requiring premultiplied alpha.

Needs full unit test coverage and bug fixes!
2013-07-23 08:06:49 -07:00
Eric Wing
a99edf3519 Android: Removed all unnecessary dependencies on C++.
C++ is a bit of a minefield on Android. Much functionality still doesn't work, and Android can't decide on which C++ standard library to use, so it provides 3 different ones, all of which are incompatible with each other. (It looks like clang is coming too which will add a new compiler and a 4th standard library.)

As middleware, SDL might be distributed as a binary and intermixed with other projects already using C++. If C++ is intermixed in a bad way, bad things will happen. Removing dependencies on C++ will avoid this problem and downstream users won't have to worry/care.

--HG--
rename : src/core/android/SDL_android.cpp => src/core/android/SDL_android.c
rename : src/main/android/SDL_android_main.cpp => src/main/android/SDL_android_main.c
2013-07-22 02:51:45 -07:00
Philipp Wiesemann
e3b9fb7542 Corrected internal documentation in source. 2013-07-22 22:54:00 +02:00
Andreas Schiffler
a74537a5a9 Fix bug 1494: add missing test projects to VS2010/VS2010 solution 2013-07-22 06:00:41 -07:00
Sam Lantinga
ef291a943f Fixed building with cygwin
Note that building with cygwin gcc results in a DLL that depends on cygwin1.dll
2013-07-21 23:01:01 -07:00
Philipp Wiesemann
588e67304c Removed not needed SDL_WINDOW_SHOWN from iOS example programs.
See bug #1667.
2013-07-21 22:09:00 +02:00
Sam Lantinga
188729834c Fixed bug 1813 - MouseMotion relative values do not respect renderer LogicalSize
driedfruit

A trivial issue, the xrel and yrel values of MouseMotion event struct are not adjusted to renderer logical size.
2013-07-21 12:54:27 -07:00
Sam Lantinga
fe2bb8805e Fixed bug 1973 - test/Makefile.in fails on Mac OS X with X11 enabled...
Ryan C. Gordon

If you have the X11 SDK installed on Mac OS X, you'll build with X11 support, but the Makefile doesn't build anything but the Cocoa testnative code for Mac OS X, which is fine, but then testnative fails to link because testnative.h enables the X11 support based on the SDL config header.

Building the testnativex11.c code on Mac OS X doesn't work because you need to explicitly link with "-L/usr/X11/lib -lX11" if this code is enabled, but you can't link with that by default because the X11 SDK might be missing.

So this needs a little configure magic to do the right thing (or forcibly disabling X11 support on Mac OS X in testnative.h).
2013-07-21 12:47:47 -07:00
Sam Lantinga
5ed40dea70 Added X include path so SDL_syswm.h works correctly on systems with X11 in a non-standard directory. 2013-07-21 12:37:43 -07:00
Sam Lantinga
080517ecba Fixed cursor leak when quitting the mouse subsystem 2013-07-21 12:21:22 -07:00
Sam Lantinga
958740dffc Fixed bug 1976 - SDL2.m4 shares same variables as SDL.m4 so they cache values
Edgar Simo

So basically the issue is that:

AC_PATH_PROG(SDL_CONFIG, sdl2-config, no, [$PATH])

in sdl2.m4 shares the same variable (SDL_CONFIG) as sdl.m4:

AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])

What happens is if you run the AM_PATH_SDL2 and then AM_PATH_SDL to say fall back on SDL if SDL2 isn't found, the AM_PATH_PROG command gets cached (ac_cv_path_SDL_CONFIG) so that unless you unset this cache variable, the result for AM_PATH_SDL will be EXACTLY the same as for AM_PATH_SDL2.

To fix I would recommend renaming SDL_CONFIG to SDL2_CONFIG in sdl2.m4, replacing all instances so it won't cache to the same variable.
2013-07-21 11:52:16 -07:00
Jasper St. Pierre
223c2cfbd7 Add support for the _NET_WM_BYPASS_COMPOSITOR hint
This hints to window managers to unredirect the window to improve
performance.
2013-07-21 00:57:31 -04:00
Ryan C. Gordon
44a6ab168b Cursor mask was uninitialized data, causing problems.
Fixes Bugzilla #1461.
2013-07-21 00:07:43 -04:00
Ryan C. Gordon
0002acb775 Include SDL_assert.h to fix broken build. 2013-07-20 21:22:37 -04:00
Ryan C. Gordon
20b4bd0c6a Don't allocate memory if we're just going to fail when checking parameters. 2013-07-20 21:19:20 -04:00
Ryan C. Gordon
51ba788d0d Don't try to clear errors in GL_ActivateRenderer() before we MakeCurrent.
Otherwise, if we destroyed a different renderer, next time this one draws,
it'll clear errors forever (GL_INVALID_OPERATION for having no current
context, at least on Windows), hanging up the program in an infinite loop.

Fixes Bugzilla #1775.
2013-07-20 21:10:05 -04:00
Ryan C. Gordon
f2029f2af8 Fixed another compiler warning.
This one is compliments of the FreeBSD buildbot finally having the
 X11 libraries installed.  :)

--HG--
extra : amend_source : f57bb1d54a19cb773358f8caefd40d477c01b05f
2013-07-20 20:12:36 -04:00
Ryan C. Gordon
bc019db86e One more compiler warning. 2013-07-20 19:59:31 -04:00
Ryan C. Gordon
3a261795ed More compiler warning fixes. 2013-07-20 19:58:17 -04:00
Ryan C. Gordon
30b6bedb57 Fixed some compiler warnings that Visual Studio reported. 2013-07-20 19:51:51 -04:00
Ryan C. Gordon
8328f33947 Make XInput haptic code respect effect timeouts.
This is really just a hack until this code expands to be a robust haptic mixer.

(This is also untested, beyond compiling. Sorry!)

--HG--
extra : rebase_source : 1ea0101273d96c6d82db9b603a575e265d4ee426
2013-07-20 18:51:49 -04:00
Philipp Wiesemann
5875c163cf Changed documentation comment for SDL_CreateShapedWindow().
See bug #1667.
2013-07-20 21:55:15 +02:00
Philipp Wiesemann
32e6f653b6 Replaced use of malloc()/free() with SDL_malloc()/SDL_free() in test program. 2013-07-20 21:51:53 +02:00
Philipp Wiesemann
62c31ff5c3 Removed not needed SDL_WINDOW_SHOWN from test programs.
See bug #1667.
2013-07-20 21:47:16 +02:00
Philipp Wiesemann
74e5c8cffd Replaced use of strcmp() with SDL_strcmp() in tests. 2013-07-20 21:39:54 +02:00
Philipp Wiesemann
e96e39d53b Removed not needed variable and work in standard library.
Found by Cppcheck (that variable's value was never used).
2013-07-20 21:35:26 +02:00
Ryan C. Gordon
d92ced54a0 Workaround crash bug in libXi <= 1.4.1 (thanks, Steve!).
Fixes Bugzilla #1812.
2013-07-20 13:11:40 -04:00
Philipp Wiesemann
6fc856ae8a Corrected comments in test library source. 2013-07-20 11:16:50 +02:00
Philipp Wiesemann
905c71baec Changed return value of internal function to shorten generic haptic source. 2013-07-20 11:01:03 +02:00
Sam Lantinga
a663b9c637 Fixed bug 1977 - D3D_UpdateClipRect() sets the wrong width for the clip rect
Bithika Mookherjee

SDL_RenderSetClipRect() calls into renderer->UpdateClipRect(renderer).

I am not sure if UpdateClipRect() can point to a number of clip rect update functions, but on my platform it calls D3D_UpdateClipRect().

In that function, the rect to pass to IDirect3DDevice9_SetScissorRect() has it's right field set as:

    r.right = rect->w + rect->w;

But actually, this should be:

    r.right = rect->x + rect->w;
2013-07-19 22:43:14 -07:00
Ryan C. Gordon
93f82137fd Fixed wrong type being passed to eglGetConfigAttrib() (thanks, Alexander!).
This wanted an EGLint*, not a VisualID* cast to an EGLint*.

Without this, 64-bit X11 fails here, because the datatype sizes are different.

Fixes Bugzilla 1686.
2013-07-19 00:22:57 -04:00
Ryan C. Gordon
600c62cf30 Added finger events to SDLTest_PrintEvent().
--HG--
extra : amend_source : 8e28c43eebf02b49e3f4502311a089090e65f2a6
2013-07-18 22:20:09 -04:00
Jørgen P. Tjernø
3f15d37da2 Mac: Handle SDL_CreateWindow with SDL_WINDOW_MINIMZED.
This fixes bug #1446. You can now create a window with SDL_CreateWindow(...,
SDL_WINDOW_MINIMIZED), and not have it immediately restore itself.

It also changes SDL_RaiseWindow() to be a no-op on minimized or hidden windows,
which is how it behaves on Windows.
2013-07-16 01:02:51 -07:00
Ryan C. Gordon
5256d2e392 Made PND_setwindowgrab() a no-op. It was a cut/paste of PND_destroywindow().
This looks like the rest of the code doesn't deal with windows, and probably
 just deals with a single fullscreen GLES context, like a console would, so
 making setwindowgrab a no-op makes sense in this case; it's already "grabbed."

Fixes Bugzilla #1850.

--HG--
extra : rebase_source : 29b07b9c8378f69fb8b5f201584befd8d7f005dd
2013-07-15 20:30:04 -04:00
Philipp Wiesemann
74e1355637 Changed strdup() to SDL_strdup(). 2013-07-15 23:00:47 +02:00
Jørgen P. Tjernø
074edba0c1 Mac: Bring back FS windows when appropriate
This automatically restores FS windows when the application is made
active (Cmd-Tab, you click the Dock icon, or you launch the .app again).
2013-07-15 11:58:49 -07:00
Jørgen P. Tjernø
7aa0cf9eaa Mac: CGMakePoint -> CGPointMake in previous change. 2013-07-15 11:58:45 -07:00
Jørgen P. Tjernø
2bfb402659 Mac: Fix SDL_WarpMouseInWindow in fullscreen.
If you switched from a window to fullscreen, your SDL_WarpMouseInWindow
calls would be offset by the x and y coordinates of the original window.
2013-07-15 11:57:18 -07:00
Ryan C. Gordon
5772df05d2 Turn the system mouse cursor back on before VideoQuit().
This is good policy, so it doesn't have a chance to leave it hidden on targets
 that wouldn't necessarily reset it by default, but it also fixes a crash if
 you try to use a message box after SDL_Quit() is called.

Fixes Bugzilla #1969.
2013-07-15 14:38:19 -04:00
Ryan C. Gordon
52b4a55049 Minor indentation clean up. 2013-07-15 01:12:15 -04:00
Ryan C. Gordon
8f4fb24e2d Make winmm and directsound audio targets robust against unsupported formats.
It now tries to make sure the hardware can support a given format, and if it
 can't, it carries on to the next best format instead of failing completely.

--HG--
extra : rebase_source : 7b4e61c8030d1e1ce4c926bc0abc9b4d4af11dd9
2013-07-14 21:30:16 -04:00