Commit Graph

1670 Commits

Author SHA1 Message Date
Sam Lantinga
cb3a0ae8da SDL_sysjoystick.c:983: warning: 'return' with a value, in function returning void 2006-05-01 06:40:00 +00:00
Patrice Mandin
7aa243af00 Declare volatile variables modified by interrupt routines 2006-04-30 21:01:25 +00:00
Sam Lantinga
fdb9a7d971 Removed redundant rm 2006-04-30 16:53:40 +00:00
Sam Lantinga
7fdf065976 We want to wrap HAVE_ALLOCA_H, not HAVE_ALLOCA. :) 2006-04-30 08:57:02 +00:00
Sam Lantinga
3ce0662faf ------- Comment #1 From Max Horn 2006-04-17 03:08 [reply] -------
Created an attachment (id=106) [edit]
Patch for src/joystick/win32/SDL_mmjoystick.c

I am not even a Windows user, so take the following with a grain of salt:

SDL_mmjoystick.c  has a function GetJoystickName which obtains the joystick
name by looking at the registry. The way it does that seems very fishy to me.
Namely, it uses the parameter "index" to construct a registry value name (BTW,
those variables used in the code are really badly named). The value of "index"
in turn equals the current value of "numdevs", as called from
SDL_SYS_JoystickInit.

I read through the MSDN docs at
<http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarinput/html/msdn_extdirect.asp>,
and I believe the simple fix is to replace line 183 of said file
  SYS_JoystickName[numdevs] = GetJoystickName(numdevs, joycaps.szRegKey);
by the following:
  SYS_JoystickName[numdevs] = GetJoystickName(SYS_JoystickID[i],
joycaps.szRegKey);

However, that is only *hiding* the real issue. Problem is, the list of
joysticks as returned by windows may contains "gaps", and the code deals
incorrectly with that. Namely those gaps occur if joysticks are
removed/(re)added, as the reporter observed.

The attached patch fixes this and another (off-by-one) issue in the code. But
since I have no Windows machine, I can't even test-compile it, so use with
caution.
2006-04-29 20:22:31 +00:00
Sam Lantinga
672a7294f4 2006-04-29 17:56:06 +00:00
Sam Lantinga
f3b20c7f43 Disable the XRandR extension by default, since KDE maximizes windows which are larger than the new resolution, and then doesn't restore their size and positition when the old resolution is restored.
The extension can be enabled with the environment variable SDL_VIDEO_X11_XRANDR=1
2006-04-29 17:54:32 +00:00
Sam Lantinga
7ff14ade60 Only use -fvisibility=hidden if SDL will define some symbols as available. :) 2006-04-29 04:08:40 +00:00
Sam Lantinga
f1a9e1bc50 [From Sam]
> BTW, when setting up parallel make, I usually use # cpus + 1, so a compile is
> running while disk access is going for another.

[From Ryan]
My experience is that this works well on Linux, but is actually slower on
PowerPC Mac OS X...not sure if that's an architecture issue or a scheduler
issue, though, and haven't tried it on Intel Mac OS X.
2006-04-28 05:46:07 +00:00
Sam Lantinga
0e85088dbf Future proof C++ code 2006-04-28 05:43:58 +00:00
Sam Lantinga
ac89c28826 Fixed bug #206, fatbuild.sh works flawlessly on Intel Macs 2006-04-28 05:38:06 +00:00
Ryan C. Gordon
4845d174e1 fatbuild fixes:
- A change to define CXX in fatbuild, which comforts the configure script a little, even if we don't use C++ anywhere.
- Some code to see how many CPU cores exist and parallelize make across them.
- CFLAGS that apply to both archs are specified seperately (-O3, -pipe, etc)
- -fvisibility=hidden for the gcc4 builds
- a "clean", "clean-ppc" and "clean-x86" command
- Fix to SDL_config_macosx.h for the HAVE_ALLOCA_H thing.

Now builds on an Intel Mac.
2006-04-27 11:18:03 +00:00
Sam Lantinga
5895aa331a Fixed bug #101
If we lose focus at all, unlock the mouse.
2006-04-27 10:44:43 +00:00
Sam Lantinga
4c271db358 Trying to fix fatbuild.sh on intel 2006-04-27 10:21:54 +00:00
Sam Lantinga
2697684f34 Fixed compile errors on Mac OS X 2006-04-27 09:08:44 +00:00
Sam Lantinga
bc35de2e30 Implemented bug #5
Added SDL_GL_ACCELERATED_VISUAL to guarantee hardware acceleration.
2006-04-27 08:39:51 +00:00
Sam Lantinga
2a622cd891 Implemented bug #2, 117:
Date: Mon, 21 Mar 2005 12:06:14 +0100
From: Per Inge Mathisen
Subject: Re: [SDL] Outstanding patches?

The patch adds support for setting SDL_GL_SWAP_CONTROL to Windows and
X11. In Windows you can also query this enum to check that it is
working, or see what the default is - such functionality does not
exist in GLX. For more information on the standards implemented:
http://oss.sgi.com/projects/ogl-sample/registry/SGI/swap_control.txt
http://oss.sgi.com/projects/ogl-sample/registry/EXT/wgl_swap_control.txt
2006-04-27 07:59:16 +00:00
Ryan C. Gordon
922b159c45 Info on Subversion repository access. 2006-04-26 23:17:39 +00:00
Sam Lantinga
60b9732963 subversion conversion complete! 2006-04-26 20:30:11 +00:00
Sam Lantinga
281f7c82d8 Whoops, you can't use Project Builder anymore... 2006-04-22 19:50:23 +00:00
Sam Lantinga
9d9e4fd11f Added info about fatbuild.sh 2006-04-22 19:49:37 +00:00
Sam Lantinga
791ead7bbf Mac OS X fat build works! :) 2006-04-22 19:17:14 +00:00
Sam Lantinga
3a21de87f7 Date: Thu, 20 Apr 2006 10:13:34 +0200
From: Julien Lecomte
Subject: [SDL] sdl-config

I've noticed that `sdl-config' usage reports that --static-libs is
available even when it's not.
I've modified the 'sdl-config.in' file so that it no longer reports
'--static-libs' if SDL was compiled with --disable-static.
I didn't change --disable-shared behavior.
2006-04-20 16:33:51 +00:00
Sam Lantinga
8c16f464ea I think this is it... 2006-04-19 03:49:57 +00:00
Sam Lantinga
e4cfa5a25d *** empty log message *** 2006-04-17 14:27:47 +00:00
Sam Lantinga
8134d3c179 Added a note so I remember what the heck I was doing later. :) 2006-04-17 07:03:13 +00:00
Sam Lantinga
201afd083a More general fix for bug #189
The clipping is done at a higher level, and the low level functions are
passed clipped rectangles.  Drivers which don't support source clipping
have not been changed, so the image will be squished instead of clipped,
but at least they will no longer crash when the destination rect was out
of bounds.
2006-04-17 06:47:23 +00:00
Sam Lantinga
b57d5c3424 Fixed bug #189
Clip the overlay destination rectangle to the screen area on X11
2006-04-17 05:38:33 +00:00
Sam Lantinga
b03ae03cf8 Fixed bug #197
On servers with the composite extension enabled, visuals with 32-bit depth
have an alpha mask.  This is pretty neat, but SDL needs a bit more work to
handle these properly, so for now, we'll just use 24 bit depth visuals.
2006-04-17 04:54:08 +00:00
Sam Lantinga
38391f800d Use the MAKE variable when available 2006-04-17 03:58:29 +00:00
Sam Lantinga
6bb3137545 Whoops, need the actual flags here 2006-04-17 03:37:30 +00:00
Sam Lantinga
61cc027d1e Miscellaneous Mac OS X fixes 2006-04-17 03:34:28 +00:00
Sam Lantinga
b07f4df56c Date: Fri, 31 Mar 2006 18:28:55 -0500
From: Mike Frysinger
Subject: [SDL] [patch] touchup configure --help output

the current output includes a lot of "default=yes" stuff in it ... except that
it lacks the [] around it

patch attached to fix the situation
2006-04-14 06:03:09 +00:00
Sam Lantinga
62356dc030 A script to build a fat version of the SDL library... completely untested! 2006-04-14 05:43:04 +00:00
Sam Lantinga
4ffa1daabc Make sure code is only compiled if the appropriate subsystem is enabled 2006-04-14 04:46:47 +00:00
Sam Lantinga
3ca6badbcf Don't hardcode the output directory 2006-04-14 03:56:31 +00:00
Sam Lantinga
01618a98bd From Anders F Bj�rklund:
Updated the MPW makefiles ("SDL.make", "SDLtest.make")
by adding the new "dummy" and "disk" directories/files.
2006-04-14 03:24:01 +00:00
Sam Lantinga
5022b21d68 Don't check dlopen on Mac OS X, to retain 10.2 compatibility 2006-04-13 15:36:27 +00:00
Sam Lantinga
1bae55e771 Fixed MacOS X and Solaris detection 2006-04-13 14:59:34 +00:00
Sam Lantinga
fc4fac2473 Fixed compile error 2006-04-13 14:27:58 +00:00
Sam Lantinga
720dbb7aee Fixed bug #55
From Christian Walther:
When writing my patch for #12, I ended up doing all sorts of changes to the way
application/window activating/deactivating is handled in the Quartz backend,
resulting in the attached patch. It does make the code a bit cleaner IMHO, but
as it might be regarded as a case of "if it ain't broken, don't fix it" I'd
like to hear other people's opinion about it. Please shout if some change
strikes you as unnecessary or wrong, and I'll explain the reasons behind it. As
far as I tested it, it does not introduce any new bugs, but I may well have
missed some.

- The most fundamental change (that triggered most of the others) is irrelevant
for the usual single-window SDL applications, it only affects the people who
are crazy enough to display other Cocoa windows alongside the SDL window (I'm
actually doing this currently, although the additional window only displays
debugging info and won't be present in the final product): Before, some things
were done on the application becoming active, some on the window becoming key,
and some on the window becoming main. Conceptually, all these actions belong to
the window becoming key, so that's what I implemented. However, since in a
single-window application these three events always happen together, the
previous implementation "ain't broken".

- This slightly changed the meaning of the SDL_APPMOUSEFOCUS flag from
SDL_GetAppState(): Before, it meant "window is main and mouse is inside window
(or mode is fullscreen)". Now, it means "window is key and mouse is inside
window (or mode is fullscreen)". It makes more sense to me that way. (See
http://developer.apple.com/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html
for a discussion of what key and main windows are.) The other two flags are
unchanged: SDL_APPACTIVE = application is not hidden and window is not
minimized, SDL_APPINPUTFOCUS = window is key (or mode is fullscreen).

- As a side effect, the reorganization fixes the following two issues (and
maybe others) (but they could also be fixed in less invasive ways):

* A regression that was introduced in revision 1.42 of SDL_QuartzVideo.m
(http://libsdl.org/cgi/cvsweb.cgi/SDL12/src/video/quartz/SDL_QuartzVideo.m.diff?r1=1.41&r2=1.42)
(from half-desirable to undesirable behavior):

Situation: While in windowed mode, hide the cursor using
SDL_ShowCursor(SDL_DISABLE), move the mouse outside of the window so that the
cursor becomes visible again, and SDL_SetVideoMode() to a fullscreen mode.
What happened before revision 1.42: The cursor is visible, but becomes
invisible as soon as the mouse is moved (half-desirable).
What happens in revision 1.42 and after (including current CVS): The cursor is
visible and stays visible (undesirable).
What happens after my patch: The cursor is invisible from the beginning
(desirable).

* When the cursor is hidden and grabbed, switch away from the application using
cmd-tab (which ungrabs and makes the cursor visible), move the cursor outside
of the SDL window, then cmd-tab back to the application. In 1.2.8 and in the
current CVS, the cursor is re-grabbed, but it stays visible (immovable in the
middle of the window). With my patch, the cursor is correctly re-grabbed and
hidden. (For some reason, it still doesn't work correctly if you switch back to
the application using the dock instead of cmd-tab. I haven't been able to
figure out why. I can step over [NSCursor hide] being called in the debugger,
but it seems to have no effect.)

- The patch includes my patch for #12 (it was easier to obtain using cvs diff
that way). If you apply both of them, you will end up with 6 duplicate lines in
SDL_QuartzEvents.m.
2006-04-13 14:17:48 +00:00
Sam Lantinga
b062c353b4 Fixed bug #185
The SDL platform header shouldn't dictate the OS target API for other
applications.  The build system should define the target API for building
SDL internally.
2006-04-13 14:14:06 +00:00
Sam Lantinga
5587c232db Fixed bug #179
SDL_SemValue() always returns 0. That's because the underlying POSIX
sem_getvalue() is implemented as a noop in Mac OS X. Apart from that,
semaphores do work properly (at least according to test/testsem), so I'm not
sure if this is worth fixing at all.
2006-04-13 14:04:13 +00:00
Sam Lantinga
1374682c44 Fixed bug #176
[I'm fixing this for the public headers, but I'm not going to bother for the SDL library code (yet)]

To clarify: Normaly, GCC (or, to be precise, the preprocessor) will ignore
this, and compile the code happily. However, one can specify -Wundef to get a
warning about this.

One can probably argue whether to consider this a bug or not; but I think that
(a) from a semantic point of view, using "#if FOO" when FOO is not defined is
strange, and (b) since it is possible to trigger a warning about this, and a
trivial fix exists, it should be corrected.

I can think of two alternative patches, BTW:
1) Simply use #define HAVE_FOO 0, instead of not defining HAVE_FOO at all
2) Change
  #if HAVE_FOO
to
  #if HAVE_FOO+0
which always does the right thing.

But I think I still prefer the attached patch :-).
2006-04-13 13:38:40 +00:00
Sam Lantinga
45300d166b Fixed bug #193
The attached patch is mostly cosmetic: Currently, we always add both -framework
OpenGL and -framework AGL for Mac OS X command line builds.

However, the former is only used for the Cocoa video driver, and the latter
only for the Carbon video driver (as far as I can tell, at least). Hence the
attached patch modifies configure.in so that each only gets added to the list
of frameworks if the corresponding video driver is enabled.
2006-04-13 13:30:21 +00:00
Sam Lantinga
6515a030f1 Fixed bug #192
The change made to sdl-config.in on March 18 (rev 11, see
http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/sdl-config.in), broke static linking
under Mac OS X for unix style build systems. In other words, "sdl-config
--static-libs" no longer produces the correct output, as it is missing the
required -framework switches.

The attached patch fixes this.
2006-04-13 13:29:00 +00:00
Sam Lantinga
78a30da4bf Added a delay so the warning message isn't accidentally missed. 2006-04-13 13:25:21 +00:00
Sam Lantinga
544d8435d3 Fixed bug #191
[I opted to go for a warning, since I often tweak configure.in, but don't want to rebuild the entire project]

One thing that was lost in the switch from automake to the new build system is
that there is now no rule to build configure from configure.in.

IMHO, if configure.in gets changed, then at the very least, the build system
should print out a warning (better, again IMHO, an error) about this fact.
Else, you easily forget about this when modifying configure.in.
2006-04-13 13:23:56 +00:00
Sam Lantinga
b0519469db Fixes bug #195:
The proper name of Apple's operating system is "Mac OS X" not "MacOS X", as can
bee seen in many places, for example http://www.apple.com/macosx/). This
contrasts the naming of the old operating system, which was called "MacOS" and
today is often refered to as "MacOS Classic".

The attached patches fixes the misuse of the name "MacOS X" in both the SDL12
and sdlweb CVS modules.
2006-04-13 13:08:26 +00:00
Sam Lantinga
80c113cde7 From Anders F Bjorklund:
The current definition of int32_t, uint32_t, uintptr_t
doesn't match what the Mac system headers already have...

Since it's an old 16/32 bit platform, the system headers
expect the types to use "long" and not "int" like they do.
2006-04-12 14:38:47 +00:00