annotate src/video/Xext/README @ 3877:81f66f258d77 SDL-1.2

Fixed bug #281 ------- Comment #2 From Christian Walther 2006-07-23 07:37 [reply] ------- Wow, that was an interesting bug to chase. It was a timing issue: it seems that for some reason, a certain time must pass between ShowMenuBar() being called in QZ_UnsetVideoMode() and the application quitting. Before rev. 1885, this delay was provided by the slow hand-coded fade. With the asynchronous Core Graphics fading introduced in rev. 1885, that delay was no longer present (most of the time) and the bug became apparent. Adding an SDL_Delay(100) somewhere between ShowMenuBar() and the end of QZ_VideoQuit() lowered the frequency of the bug appearing from "almost every time" to "very rarely" here. However, there is another solution: doing the ShowMenuBar() before releasing the captured display instead of afterwards. Apparently, no delay is necessary in that case, and it looks nicer to me anyway because it is the reverse order of the way things are set up in the beginning: capture display - set video mode - hide menu bar - ... - show menu bar - reset video mode - release captured display. So, this is what the attached patch does. In addition, I've taken the liberty of - removing some unused code that I forgot to remove in rev. 1885, - fixing two warnings about undeclared functions in SDL_QuartzVideo.m by including OpenGL.h (whose name is a bit misleading - it only declares CGL stuff, so there's no interference with SDL_opengl.h).
author Sam Lantinga <slouken@libsdl.org>
date Sun, 24 Sep 2006 01:27:40 +0000
parents b87d8d4c205d
children
rev   line source
292
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
1
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
2 The reason these libraries are built outside of the standard XFree86
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
3 tree is so that they can be linked as shared object code directly into
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
4 SDL without causing any symbol collisions with code in the application.
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
5
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
6 You can't link static library code into shared libraries on non-x86
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
7 Linux platforms. Since these libraries haven't become standard yet,
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
8 we'll just include them directly.
eadc0746dfaf Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
9
690
b87d8d4c205d Fixed use of SDL with XInitThreads()
Sam Lantinga <slouken@libsdl.org>
parents: 292
diff changeset
10 These sources are synchronized with XFree86 4.2.1