Thu, 13 Apr 2006 14:59:34 +0000 Fixed MacOS X and Solaris detection
Sam Lantinga <> [Thu, 13 Apr 2006 14:59:34 +0000] rev 1631
Fixed MacOS X and Solaris detection
Thu, 13 Apr 2006 14:27:58 +0000 Fixed compile error
Sam Lantinga <> [Thu, 13 Apr 2006 14:27:58 +0000] rev 1630
Fixed compile error
Thu, 13 Apr 2006 14:17:48 +0000 Fixed bug #55
Sam Lantinga <> [Thu, 13 Apr 2006 14:17:48 +0000] rev 1629
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 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 ( (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.
Thu, 13 Apr 2006 14:14:06 +0000 Fixed bug #185
Sam Lantinga <> [Thu, 13 Apr 2006 14:14:06 +0000] rev 1628
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.
Thu, 13 Apr 2006 14:04:13 +0000 Fixed bug #179
Sam Lantinga <> [Thu, 13 Apr 2006 14:04:13 +0000] rev 1627
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.
Thu, 13 Apr 2006 13:38:40 +0000 Fixed bug #176
Sam Lantinga <> [Thu, 13 Apr 2006 13:38:40 +0000] rev 1626
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 :-).
Thu, 13 Apr 2006 13:30:21 +0000 Fixed bug #193
Sam Lantinga <> [Thu, 13 Apr 2006 13:30:21 +0000] rev 1625
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 so that each only gets added to the list of frameworks if the corresponding video driver is enabled.
Thu, 13 Apr 2006 13:29:00 +0000 Fixed bug #192
Sam Lantinga <> [Thu, 13 Apr 2006 13:29:00 +0000] rev 1624
Fixed bug #192 The change made to on March 18 (rev 11, see, 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.
Thu, 13 Apr 2006 13:25:21 +0000 Added a delay so the warning message isn't accidentally missed.
Sam Lantinga <> [Thu, 13 Apr 2006 13:25:21 +0000] rev 1623
Added a delay so the warning message isn't accidentally missed.
Thu, 13 Apr 2006 13:23:56 +0000 Fixed bug #191
Sam Lantinga <> [Thu, 13 Apr 2006 13:23:56 +0000] rev 1622
Fixed bug #191 [I opted to go for a warning, since I often tweak, 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 IMHO, if 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
(0) -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip