|
f2224e1f
|
2013-11-03T09:55:27
|
|
Fixed bug 1990 - focus/keyboard events not generated correctly for multiple windows
Mai Lavelle
I've recently tried to create multiple windows and process key events for them, and found that key events weren't being generated for most of the windows. After some investigating I've observed the following effects. All but the most recently created window experience these effects...
- a focus lost event is generated immediately after the focus gained event, even tho window still has focus
- key events report window id 0 rather than the id of the window which has focus, SDL thinks no window has focus?
- giving focus to a non SDL window and then selecting an SDL window causes events to be generated as expected, but only until focus changes again
Focus change events are queued and delayed (200 ticks) before they are dispatched. The problem occurs when a focus out and focus in event are received on the same tick. When these delayed events are dispatched they will be sent in the order determined by the window list rather than the order in which they are received.
The focus out dispatch is implemented by calling SDL_SetKeyboardFocus(NULL). This will remove focus from any window, regardless of whether it is the one originally targeted by the X11 event.
Since SDL_SetKeyboardFocus() will always dispatch a focus lost event as needed, the easiest solution is simply to only call SDL_SetKeyboardFocus(NULL) when SDL_GetKeyboardFocus() matches the target window.
|
|
e0771482
|
2013-10-23T13:43:17
|
|
Fix regression causing crashes when running without a window manager.
|
|
298d3d62
|
2013-10-22T21:54:52
|
|
Fixed duplicate const warning
|
|
08fa8da7
|
2013-10-20T21:56:15
|
|
Fixed bug 2129 - fix for bug 2121 breaks linking for mingw and throws multiple warnings
Andreas Ertelt
The problem in question is caused by changeset 7771 (http://hg.libsdl.org/SDL/rev/5486e579872e / https://bugzilla.libsdl.org/show_bug.cgi?id=2121)
The redefinition of __inline__ (introduced by the addition of begin_code.h:128's "|| __STRICT_ANSI__") results in mingw's gcc throwing multiple
warning: always_inline function might not be inlinable [-Wattributes]
as well as a whole bunch of redefinitions of mingw internals which break linking of projects including the SDL2 headers.
|
|
f5fa492e
|
2013-10-20T20:42:55
|
|
Added a macro SDL_TICKS_PASSED() to correctly compare two 32-bit tick values.
Went through the code and used the macro and fixed a couple places that were using incorrect timestamp comparisons.
|
|
0e699eb5
|
2013-10-20T21:18:05
|
|
Added SDL_GL_FRAMEBUFFER_SRGB_CAPABLE (thanks, David!).
Fixes Bugzilla #1985.
|
|
a25b5192
|
2013-10-20T09:58:37
|
|
Fixed compiling with the new X11 symbol wrapping
|
|
6a3478c2
|
2013-10-20T17:23:43
|
|
Fix bug 1300 by querying current border size in ConfigureNotify, and adjusting window coordinates accordingly.
|
|
b4a00144
|
2013-10-18T10:56:45
|
|
Fixed the XInput2 X11 symbols.
|
|
a2bd8970
|
2013-10-18T01:36:41
|
|
Don't supply duplicate X11 symbols inside SDL.
Fixes static linking when something else also uses X11.
|
|
14e13e13
|
2013-10-17T17:38:55
|
|
Fixed compiler warning if dynamic X11 loading isn't enabled.
|
|
7db31223
|
2013-10-17T17:37:23
|
|
Fixed using the wrong variable when reporting a missing SDL scancode mapping.
|
|
6435a82d
|
2013-10-14T09:12:30
|
|
Backed out revision fb5ab0e91c56, the platform specific messagebox functions don't have the right prototype since they're designed to be used standalone.
|
|
074a1c4c
|
2013-10-12T16:29:34
|
|
Fixes X11 video backend compilation when no GL is available
For example, in our Raspberry Pi sysroot.
|
|
8b6ad7ff
|
2013-09-27T23:47:57
|
|
Fixed bug 2101 - CWBackPixel causes weird window flickering on window resize
aBothe
I tried to experiment a bit with SDL2 and OpenGL today and noticed that something caused some weird flickering when resizing my nicely drawn SDL2/OpenGL window:
Just after resizing, the background went black and I had to let my OpenGL code redraw the contents..
However, after some hours spent with googling I found out that in OpenGL examples where this CWBackPixel flag was not used when creating X windows, there was no flickering while resizing the window.
See http://www.sbin.org/doc/Xlib/chapt_04.html @ "The Window Background" for more info.
|
|
b9567776
|
2013-09-27T23:35:17
|
|
# User Darren Salt <devspam@moreofthesa.me.uk>
# Date 1379621782 -3600
# Thu Sep 19 21:16:22 2013 +0100
Work around a false-positive in the X11 mouse wheel code
This false positive occurs when one particular button on my mouse is
pressed. The kernel which I'm using is patched to cause a release event to
be synthesised immediately when the mouse says that this button is pressed
because the mouse doesn't signal release until the button is next pressed.
(Also documents a false negative, observed with the horizontal scroll wheel
on the same mouse.)
|
|
49d64d52
|
2013-09-13T17:42:38
|
|
Fix X11_RestoreWindow() and X11_RaiseWindow() to properly do window activation.
X11_RestoreWindow() had a call ordering problem that prevented activation, and X11_RaiseWindow() wasn't attempting activation. Windows and OS X both activate in these cases.
CR: saml
|
|
a9166450
|
2013-09-10T18:25:13
|
|
[SDL] X11+GL: Allow Visual override for GL windows.
SDL provides an SDL_VIDEO_X11_VISUALID environment variable that lets you override
window visuals, but it wasn't being checked for OpenGL windows.
CR: Sam.
|
|
ace1e98a
|
2013-08-29T15:02:32
|
|
Fixes bug #2040, prepare SDL_GL_CONTEXT_EGL for deprecation on v2.1
SDL_GL_CONTEXT_EGL = 1 is now internally treated as profile_mask = SDL_GL_CONTEXT_PROFILE_ES
|
|
e07d7e64
|
2013-08-29T08:30:21
|
|
Christoph Mallon: Replace strlen(x) == 0 (O(n)) by x[0] == '\0' (O(1)).
|
|
f79fc33a
|
2013-08-29T08:29:21
|
|
Christoph Mallon: Remove pointless if (x) before SDL_free(x)
|
|
3d217ed7
|
2013-08-21T10:07:48
|
|
Fixed crash if the IC isn't set up for some reason (bad X11 locale?)
|
|
6107705a
|
2013-08-21T10:34:32
|
|
Fix a couple of warnings
|
|
2490166d
|
2013-08-21T10:12:16
|
|
Fixes for -Wdeclaration-after-statement
|
|
1e49b1ed
|
2013-08-21T09:47:10
|
|
OCD fixes: Adds a space after /* (glory to regular expressions!)
|
|
695344d1
|
2013-08-21T09:43:09
|
|
OCD fixes: Adds a space before */
|
|
24006be2
|
2013-08-20T20:31:57
|
|
Fixed compiler warning.
|
|
0eeb76d8
|
2013-08-19T16:29:46
|
|
Fixes bug #2037, common EGL code for Android and X11
|
|
67367be0
|
2013-08-12T22:00:21
|
|
Don't print "unrecognized key" message for an X11 keycode of 0. This can happen with composed characters.
|
|
dad42067
|
2013-08-12T11:13:50
|
|
Fixes #2022, do not resume on Android when surfaceChanged
If the app is in landscape mode and the user presses the power button, a pause
is followed immediately by a surfaceChanged event because the lock screen
is shown in portrait mode. This triggers a "false" resume.
So, we just pause and resume following the onWindowFocusChanged events.
Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before
blocking the event pump.
|
|
1df1e696
|
2013-07-14T11:28:44
|
|
Added the platform specific messagebox function to the video function list
|