src


Log

Author Commit Date CI Message
Sam Lantinga c8881837 2015-05-28T19:06:07 Improved fix for bug 2096 - Mapping from scancode to keycode doesn't work for remapped modifier keys Zack Middleton The change to the keymap to use SDL_SCANCODE_TO_KEYCODE in SDL_x11keyboard.c causes all SDL scancodes without a Usc4 character to be XOR'd with SDLK_SCANCODE_MASK, but not all key code are suppose to be (as seen in include/SDL_keycodes.h). SDLK_BACKSPACE is not 0x4000002A. I think the full list of keys affected are return, escape, backspace, tab, and delete.
Sam Lantinga da190975 2015-05-28T18:57:10 Fixed clip rectangle calculation when there is a viewport offset
Sam Lantinga 6e67c949 2015-05-28T12:55:01 Fixed bug 2054 - SDL_GetError: "Unknown touch device" Volumetric The "Unknown touch device" message appears because the initial touch device setup loop uses SDL_GetTouch() as a guard for calling SDL_AddTouch(). SDL_GetTouch() will always report "Unknown touch device" since the device hasn't been added yet. The SDL_GetTouch() call is unnecessary since SDL_AddTouch() calls SDL_GetTouchIndex() to verify that the device hasn't been added yet, and SDL_GetTouchIndex() has the benefit of not reporting an error for a device it can't find.
Sam Lantinga 32d6dcdb 2015-05-28T12:48:20 Fixed bug 2096 - Mapping from scancode to keycode doesn't work for remapped modifier keys Jacob Lee If a user has a non-standard keyboard mapping -- say, their caps lock key has been mapped to Ctrl -- then SDL_GetModState() is no longer accurate: it only considers the unmapped keys. This is a regression from SDL 1.2. I think there are two parts to this bug: first, GetModState should use keycodes, rather than scancodes, which is easy enough. Unfortunately, on my system, SDL considers Caps Lock, even when mapped as Control, to be both SDL_SCANCODE_CAPSLOCK and SDLK_CAPSLOCK. The output from checkkeys for it is: INFO: Key pressed : scancode 57 = CapsLock, keycode 0x40000039 = CapsLock modifiers: CAPS Whereas the output for xev is: KeyPress event, serial 41, synthetic NO, window 0x4a00001, root 0x9a, subw 0x0, time 40218333, (144,177), root:(1458,222), state 0x10, keycode 66 (keysym 0xffe3, Control_L), same_screen YES, XKeysymToKeycode returns keycode: 37 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False I think the problem is that X11_UpdateKeymap in SDL_x11keyboard.c only builds a mapping for keycodes associated with a Unicode character (anything where X11_KeyCodeToUcs returns a value). In the case of caps lock, SDL scancode 57 becomes x11 keycode 66, which becomes x11 keysym 65507(Control_L), which does not have a unicode value. To fix this, I suspect that SDL needs a mapping of the rest of the x11 keysyms to their corresponding SDL key codes.
Ryan C. Gordon 4d1626d0 2015-05-28T15:36:27 Windows SDL_GetBasePath: free string on failure.
Ryan C. Gordon aa43bee4 2015-05-28T15:32:45 Windows GetBasePath: fixed reallocation code.
Sam Lantinga f9abea20 2015-05-28T12:31:25 Fixed bug 2210 - Initializing Video produces unnecessary errors hiduei Overview: Initializing the Video Subsystem causes many errors though everything works as it should. Steps to Reproduce: 1) Set Loglevel to SDL_LOG_PRIORITY_ERROR 2) Initialize the Video Subsystem (SDL_Init(SDL_INIT_VIDEO)) Actual Results: Many errors (see attachment) are printed on stderr, then the application continues as expected. Expected Results: The errors should have been warnings at most.
Ryan C. Gordon 566316e0 2015-05-28T15:29:43 Windows SDL_GetBasePath: Fixed wrong variable when growing the buffer size.
Sam Lantinga 6a3ad8a9 2015-05-28T12:18:05 Fixed bug 2367 - Bad mouse motion coordinates with two windows where one has changed logical size Andreas Ragnerstam I have two windows where one has a renderer where the logical size has been changed with SDL_RenderSetLogicalSize. When I get SDL_MOUSEMOTION events belonging to the non-scaled window these will have been scaled with the factor of the scaled window, which is not expected. Adding some printf debugging to SDL_RendererEventWatch of SDL_render.c, where (event->type == SDL_MOUSEMOTION), I found that for every mouse motion SDL_RendererEventWatch is called twice and the event->motion.x and event.motion.y are set twice for the event, once for each renderer where only the last one set will be saved to the event struct. This will work fine if both renderers have the same scale, but otherwise the motion coordinates will be scaled for the renderer belonging to another window than the mouse was moved in. I guess one solution would be to check that window == renderer->window for SDL_MOUSEMOTION events, similar to what is done for when SDL_WINDOWEVENT events. I get the same error on both X11 and Windows. The same problem also exists for SDL_MOUSEBUTTONDOWN and SDL_MOUSEBUTTONUP events.
Sam Lantinga bccc2ad0 2015-05-28T12:06:48 Fixed compiling and tested on Windows
Ryan C. Gordon 75702ffe 2015-05-28T14:34:38 Make sure we have the vsscanf() prototype (thanks, Ozkan!). issue seen with glibc-2.8. Fixes Bugzilla #2721.
Sam Lantinga cb24f4de 2015-05-28T10:44:46 Fixed bug 2772 - SDL2 doesn't handle X KeymapNotify events Jason Wyatt Currently the keymapnotify event handling is commented out as FIXME in SDL_x11events.c (It looks like this may have functioned SDL1.2). Not handling this event means that if a window manager shortcut such as ALT+SPACE is used, SDL will send an ALT key down signal, but not an up signal. Also querying SDL about the key state, it believes the ALT key remains pressed. X passes the events keypress (alt), ?focusout?, ?focusin?, keymapnotify.
Sam Lantinga 719bb6fc 2015-05-28T09:52:48 Fixed X11 build, added code to print initial modifiers to checkkeys
Sam Lantinga 0694baf2 2015-05-28T09:33:47 Fixed bug 2736 - X11 doesn't set KMOD_NUM and KMOD_CAPS to system state Zack Middleton Using X11 (on Debian Wheezy), SDL_GetModState() & KMOD_NUM and KMOD_CAPS are not set to system state (numlock/capslock LEDs). Pressing numlock or capslock toggles the mod state, though if num/caps lock is enabled before starting the program it's still reversed from system state. This makes getting KMOD_NUM and KMOD_CAPS in programs unreliable. This can be seen using the checkkeys test program. The function that appears to have handle this in SDL 1.2 is X11_SetKeyboardState. The function call is commented out with "FIXME:" in SDL 2. Using Windows backend through WINE; on first key press if numlock and/or capslock is enabled on system, numlock/capslock SDL_SendKeyboardKey is run and toggles KMOD_NUM/KMOD_CAPS to the correct state. On X11 this does not happen. The attached patch makes X11 backend set keyboard state on window focus if no window was previously focused. It sets all keys to system up/down state and toggles KMOD_NUM/KMOD_CAPS via SDL_SendKeyboardKey to match system if needed. The patch is based on SDL 1.2's X11_SetKeyboardState.
Sam Lantinga 779d4035 2015-05-28T08:51:59 Fixed Windows build
Sam Lantinga 0669a224 2015-05-28T08:41:07 Fixed bug 2860 - SetProp must be paired with RemoveProp especially for properties added to external windows Coriiander Upon creating a window, a window property is added to it through the Win32-function "SetProp". This is done in the SDL-function "SetupWindowData" in file "src\video\windows\SDL_windowswindow.c". Whenever you call "SetProp" to add a property to a Win32-window, you should also call the Win32-function "RemoveProp" to remove it before destroying that Win32-window. While you might think that it's ok and that Windows will clean up nicely itself, it is not ok. It is against all Win32-API guidelines and is mostlikely a leak. Especially on external windows (CreateWindowFrom) you want to have things done right, not messy and leaky, affecting some other module. Even if SDL gets shutdown entirely that external window will now forever still have the "SDL_WindowData" prop attached to it.
Ryan C. Gordon 6d1ad384 2015-05-28T01:54:52 Windows GetBasePath should use GetModuleFileNameExW() and check for overflows. Apparently you might get strange paths from GetModuleFileName(), such as short path names or UNC filenames, so this avoids that problem. Since you have to tapdance with linking different libraries and defining macros depending on what Windows you plan to target, we dynamically load the API we need, which works on all versions of Windows (on Win7, it'll load a compatibility wrapper for the newer API location). What a mess. This also now does the right thing if there isn't enough space to store the path, looping with a larger allocated buffer each try. Fixes Bugzilla #2435.
Ryan C. Gordon 84ce0006 2015-05-28T01:27:24 I think this will be the time...
Ryan C. Gordon 7964f3ad 2015-05-28T01:22:14 Still trying to get this to compile...
Ryan C. Gordon cae4fd7f 2015-05-28T01:16:55 More patching to compile...
Ryan C. Gordon e90f87ba 2015-05-28T01:08:33 Another attempt to get this to compile.
Ryan C. Gordon 4add1694 2015-05-28T01:02:03 Patched to compile on MingW. (I think!)
Ryan C. Gordon 58447b24 2015-05-28T00:54:52 Move tests from SDL_config higher up in Windows joystick/haptic code. Fixes Bugzilla #2932.
Ryan C. Gordon 2a757825 2015-05-28T00:30:21 X11: Add Xdbe support to message boxes (thanks, Melker!). Without this, message boxes with a lot of text will noticibly flicker as you mouse over buttons. Fixes Bugzilla #2343.
Ryan C. Gordon bea1854c 2015-05-27T19:00:56 Patched to compile on C89 compilers.
Ryan C. Gordon 9c343681 2015-05-27T18:54:06 Wayland: Avoid NULL dereference after window destruction (thanks, "x414e54"!). Fixes Bugzilla #2934.
Sam Lantinga 7f17e0ab 2015-05-27T10:29:43 Fixed detecting PS4 wired controller on Windows
Ryan C. Gordon 80cfccbf 2015-05-26T22:57:42 Back out changeset b80349dd6d40. This change didn't do what I thought it did, sorry.
Ryan C. Gordon 059a0307 2015-05-26T21:30:41 Uh, yeah, it helps to press "Save" before committing...
Ryan C. Gordon c69a5592 2015-05-26T21:29:45 X11: generate clipboard update events (thanks, "chw"!). Partially fixes Bugzilla #2266.
Ryan C. Gordon cc493d71 2015-05-26T21:26:27 X11: use XA_STRING for text SDL puts on the clipboard (thanks, "chw"!). Partially fixes Bugzilla #2266.
Ryan C. Gordon baea64e6 2015-05-26T21:19:23 Stack hint should look for 0, not -1, and not care about environment variables.
Ryan C. Gordon a8fa7bd1 2015-05-26T21:13:27 Added a hint to specify new thread stack size (thanks, Gabriel!). Fixes Bugzilla #2019. (we'll do a better fix when we break the API in SDL 2.1.)
Ryan C. Gordon 21d0cded 2015-05-26T20:55:03 Added some unknown keys from Japanese 106/109 keyboards (thanks, "ver0hiro"!). This adds them for Windows and X11. Fixes Bugzilla #2820.
Alex Szpakowski 262e8ef3 2015-05-26T21:51:47 Mac: Send a window resize event when the window's backing scale factor changes. The backing scale factor can change when the window moves between retina and non-retina displays. The only other way to detect such a change is to compare the output of SDL_GL_GetDrawableSize or SDL_GetRendererOutputSize every frame, which is less than desirable, especially since the necessary app logic is likely already being executed when a window resize event is received.
Ryan C. Gordon be89fa09 2015-05-26T20:49:27 Reset the keyboard state when launching a message box (thanks, Sean!). Otherwise, pressed keys get stuck. Fixes Bugzilla #2776.
Ryan C. Gordon 41908548 2015-05-26T20:40:00 Windows: Alt-F4 hotkey should be checked on keydown, not keyup (thanks, Matt!). Fixes Bugzilla #2780.
Ryan C. Gordon 72a244da 2015-05-26T20:36:45 Android: Added basic drop file support (thanks, "noxalus"!). This lets SDL-based apps respond to "Open With" commands properly, as they can now obtain the requested path via a standard SDL dropfile event. This is only checked on startup, so apps don't get drop events at any other time, even if Android supports that, but this is still a definite improvement. Fixes Bugzilla #2762.
Alex Baines ae6555df 2015-05-26T20:22:14 Pump IBus events after X events.
Alex Szpakowski a4f0daed 2015-05-26T19:34:56 EGL: OpenGL ES 3.0 contexts can now be created without the EGL_KHR_create_context extension. Fixes bugzilla #2994.
Ryan C. Gordon d5a57853 2015-05-26T16:42:36 Drop out of SDL_UpdateTexture() early if the rectangle is zero pixels. Hopefully makes static analysis happy about a zero-byte malloc elsewhere.
Ryan C. Gordon 2e2b84fb 2015-05-26T16:31:11 Some setups need _GNU_SOURCE to make LLONG_MAX available (thanks, Ozkan!). Fixes Bugzilla #2721.
Ryan C. Gordon 59f69f63 2015-05-26T16:14:25 Whoops, fix the static analysis fix.
Ryan C. Gordon d1980b93 2015-05-26T12:52:28 Mac: Fix compiler warning when building with a min target >= 10.6.
Ryan C. Gordon 37f4eb53 2015-05-26T12:47:03 Darwin haptic: Fixed a static analysis warning if axes==0.
Ryan C. Gordon f99d6e1d 2015-05-26T12:03:51 Linux joystick: Look at entire axis namespace for controls (thanks, "spaz16"!). This apparently has fallout: the PS4 (and maybe PS3?) controllers apparently report some bogus axes, but it won't change the axes we currently expect, and thus the game controller config string is still stable. Fixes Bugzilla #2719.
Sam Lantinga 52306459 2015-05-26T08:52:02 Fixed bug 2869 - Controllers connected on launch are reported twice. Since all device detection/removal happens on the main thread now, post events inline with when the status changes occur. Also fixed rare cases when joystick API functions could return data about removed joysticks when called with a device index.
Ryan C. Gordon 80916e01 2015-05-26T11:38:04 Cocoa: Fixed relative mouse mode when app loses/regains focus (thanks, Eric!). Fixes Bugzilla #2718.
Ryan C. Gordon b11b3493 2015-05-26T11:08:30 Windows: don't beep on Alt-* key combos (Thanks, historic_bruno!). Fixes Bugzilla 2669.
Ryan C. Gordon bb437f02 2015-05-26T11:01:19 Cocoa: report SDL_WINDOWEVENT_EXPOSED events to the app (thanks, David!). Fixes Bugzilla #2644.
Ryan C. Gordon aba4d783 2015-05-26T10:25:15 Don't look for (and fail without) glGetIntegerv() until we need to. Fixes Bugzilla #2615.
Ryan C. Gordon 22704ac2 2015-05-26T09:55:41 Cocoa: don't fail outright if we see an unknown display format. Just treat it as ARGB8888.
Sam Lantinga 2c4a6ea0 2015-05-26T06:27:46 Updated the copyright year to 2015
Sam Lantinga 507157ab 2015-05-25T16:22:09 Wait for devices to finish initializing when inserted, before using them. Fixes hotplug issue with XBox 360 game controller.
Sam Lantinga b0c5e201 2015-05-25T14:52:41 Added support for Razer Serval Bluetooth mode
Sam Lantinga 63653814 2015-05-20T16:28:21 Added game controller support for the Razer Serval
Alex Szpakowski fcee3e73 2015-05-16T17:35:36 Code style cleanup in the GLES and GLES2 render backends.
Alex Szpakowski 240a3fbf 2015-05-16T16:55:56 iOS: Added support for SDL_DisableScreenSaver and SDL_EnableScreenSaver.
Philipp Wiesemann a54d038b 2015-05-16T21:15:27 Emscripten: Fixed wrong source comment and updated web link.
Alex Szpakowski d57b9735 2015-05-16T12:05:42 Mac: Use CoreFoundation headers instead of Carbon headers, in GetPowerInfo code.
Victor Luchits afc97cbd 2015-05-14T14:40:56 Fix duplicate raw mouse events with XInput2 Make XGrabPointer calls in X11_SetWindowGrab and X11_CaptureMouse consistent by passing False to owner_mask along with proper event_mask.
Sam Lantinga 1c6ea0f2 2015-05-13T22:39:32 Added a userdata parameter to SDL_SetWindowsMessageHook()
Sam Lantinga b2be9253 2015-05-13T22:39:27 Fixed Mac and Linux builds
Sam Lantinga 7de242e7 2015-05-13T22:39:20 Added SDL_SetWindowsMessageHook() to facilitate full IME support on Windows
Sam Lantinga 094c4a16 2015-05-13T22:37:26 Added generic xinput fallback for XBox compatible controllers on Linux
Alex Szpakowski f1a7c00d 2015-05-11T21:03:36 Refactored SDL_EGL_CreateContext: It now supports context flags and OpenGL ES 3+ contexts, and its behavior more closely matches the GLX and WGL context creation code. Improved the code style consistency of SDL_egl.c. Fixes bugzilla #2865.
Philipp Wiesemann 5919a859 2015-05-09T22:42:23 Android: Fixed empty parameter list in signatures of internal functions.
Philipp Wiesemann 3f51758e 2015-05-06T21:10:48 Emscripten: Fixed touch coordinates not being normalized.
Alex Szpakowski ac27b511 2015-05-06T12:54:51 Fixed SDL_GL_GetAttribute queries for framebuffer component sizes in Core Profile OpenGL contexts. Fixes bugzilla #2060.
Alex Szpakowski 4fc40266 2015-05-05T19:01:55 Replaced all remaining uses of NSAutoreleasePool with @autoreleasepool blocks (bugzilla #2680.)
Alex Szpakowski d1372bb9 2015-05-05T16:20:11 Fixed the window offset on iOS when resuming an app with a borderless or fullscreen window that has the on-screen keyboard visible.
Alex Szpakowski d603bb30 2015-05-05T16:16:10 Fixed a crash on iOS when none of the orientations in Info.plist match the SDL window's actual orientation. Fixes bug #2967.
Sam Lantinga 74d83ead 2015-05-04T21:47:40 Fixed bug 2976 - Fix RGBA<->RGBA blit that was broken with the optimization from Bug 11 id.zeta The optimization from Bug 11 added a code branch on cases where the source RGB masks match the destination RGB masks and a optimized blit function Blit4to4MaskAlpha that always overrides the source alpha info would be chosen. Unfortunately, the branch also errorneously took over the RGBA<->RGBA blitting cases where the source alpha info should be copied, while they would instead get overriden in Blit4to4MaskAlpha. The attached patch fixes that by handling the RGBA<->RGBA cases correctly in that branch with the original BlitNtoNCopyAlpha as well as uses an optimized Blit4to4CopyAlpha along the same vein.
Ryan C. Gordon 589c46dd 2015-05-01T01:20:28 X11: send keypress events before textinput events.
Philipp Wiesemann 9979bab2 2015-04-30T21:45:29 Android: Deactivated debug log messages on joystick device events.
Dimitris Zenios d9d1a1b9 2015-04-26T13:53:46 X11: Use our own cut-buffer for intermediate clipboard storage. XA_CUTBUFFER0 is not defined for holding UTF8 strings.
Ryan C. Gordon 69f6f646 2015-04-20T13:43:24 Cleaned up the macro salsa in the Windows timer code. - Removed USE_GETTICKCOUNT code; it's never used now. - Reduced the number of preprocessor checks for WinRT. - Renamed timeSetPeriod() so it doesn't look like a Win32 API call.
Ryan C. Gordon b72938c8 2015-04-20T12:22:44 Windows: Always set the system timer resolution to 1ms by default. An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
Alex Baines dae40bff 2015-02-27T21:17:29 [IBus] Only register interest in messages sent to our input context.
Alex Baines 42d9cf69 2015-02-01T21:08:54 [ibus] Send an empty TextEditing event when the text is cleared by pressing backspace.
David Ludwig a6df21cd 2014-12-20T11:45:39 Partial fix for bug 2726 - Win32 'mouse' events not applying 'SDL_TOUCH_MOUSEID' This is a Win32-specific fix for bug 2726. A WinRT fix for this bug was applied separately, via https://hg.libsdl.org/SDL/rev/91f56dcad879 This fix applies SDL_TOUCH_MOUSEID to 'mouse' events coming from touch devices, but only when relative-mouse-mode is turned OFF. This bug is still present when relative-mouse-mode is ON, however Microsoft does not provide documentation on whether or not those input events (which come from WM_INPUT) can be identified as touch-specific or not. Unofficially, that data might be available (via GetMessageExtraInfo()), however this patch only uses MS-documented APIs.
Wander Lairson Costa eff61ee3 2014-06-05T11:55:37 Add an entry for X11 "/" key for Brazilian keyboard. SDL2 reports the following message when we type the "/" on br-abnt2 keyboards: The key you just pressed is not recognized by SDL. \ To help get this fixed, please report this to the SDL mailing list \ <sdl@libsdl.org> X11 KeyCode 97 (89), X11 KeySym 0x2F (slash). That's because the corresponding entry in the scancodes table is marked with value SDL_SCANCODE_UNKNOWN. This commit fixes that adding the value SDL_SCANCODE_SLASH for this entry.