Log

Author Commit Date CI Message
Ryan C. Gordon 03eaddca 2017-07-23T19:25:16 Fixed compiler warnings on QNX.
Sam Lantinga 67754af8 2017-07-21T17:28:47 Fixed build on older Mac OS X SDKs
Ryan C. Gordon 8ac17a2a 2017-07-20T20:40:17 sndio: fixed poll() call (thanks, kdrakehp!). Fixes Bugzilla #3705.
Ryan C. Gordon ee9cc324 2017-07-20T18:16:02 sndio: More improvements to the OpenBSD audio target (thanks, kdrakehp!). Fixes Bugzilla #3705.
Sam Lantinga 177f19af 2017-07-20T10:52:43 Fixed bug 3410 - SDL_WINDOW_HIDDEN flag is inaccurate. Jason Wyatt After hiding the window, SDL_WINDOW_HIDDEN/SDL_WINDOW_SHOWN flags on a window are correctly updated. However on the next SDL_PumpEvents, they are set incorrectly. This appears to be because X11_GetNetWMState does not check whether the _NET_WM_STATE property exists (it shouldn't on unmapped windows, see https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317598336). This results in an empty list of atoms for the state, which would imply that the window is not hidden. (Seen on Fedora 24, Gnome) -- Dan Ginsburg More details on my proposed patch: I am on Kubuntu 16.04.2. I ran into this same bug, but with Jason's patch I found that actualType != None was true so the SDL_WINDOW_HIDDEN would still not be set. My fix instead is to explicitly check for whether the window is unmapped rather than relying on the returned values in XGetWindowProperty.
Sam Lantinga 36998b82 2017-07-20T10:48:57 Fixed bug 3689 - MMX YUV renderer crash felix The functions in src/render/SDL_yuv_mmx.c contain the following inline assembly snippet: /* tap dance to workaround the inability to use %%ebx at will... */ /* move one thing to the stack... */ "pushl $0\n" /* save a slot on the stack. */ "pushl %%ebx\n" /* save %%ebx. */ "movl %0, %%ebx\n" /* put the thing in ebx. */ "movl %%ebx,4(%%esp)\n" /* put the thing in the stack slot. */ "popl %%ebx\n" /* get back %%ebx (the PIC register). */ Here's how it ended up in a binary on my old laptop: 0xb5c17dbd <ColorRGBDitherYV12MMX1X+93>: push $0x0 0xb5c17dbf <ColorRGBDitherYV12MMX1X+95>: push %ebx 0xb5c17dc0 <ColorRGBDitherYV12MMX1X+96>: mov 0xc(%esp),%ebx 0xb5c17dc4 <ColorRGBDitherYV12MMX1X+100>: mov %ebx,0x4(%esp) 0xb5c17dc8 <ColorRGBDitherYV12MMX1X+104>: pop %ebx Apparently the compiler, oblivious to the fact that the assembly snippet manipulates the %esp register, decided to refer to the operand via that same register instead of via %ebp (I believe -fomit-frame-pointer enables this). This causes %ebx to be loaded with the wrong value, which later leads to a null pointer dereference. Recent GCC can use the %ebx register normally: <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47602#c16>. There is even an explicit constraint "b" for allocating it.
Sam Lantinga 2008d866 2017-07-20T10:46:38 Fixed bug 3703 - Missing media keys support on Amazon Fire TV remote control Holger Schemel Summary: This patch adds support for key events for the "rewind" and "fast forward" media keys on the Amazon Fire TV remote control. How to reproduce the problem: Run Android build of SDL2 application on the Amazon Fire TV (tested with "stick" version) and log key events. Expected behaviour: Every key pressed on the Fire TV remote control should result in a corresponding key event (pressed/released). Observed behaviour: Of the bottom row of buttons on the Fire TV remote control, only the "play/pause" (middle) button generates a key event, while the "rewind" (left) and "fast forward" (right) buttons to not generate any event at all. The attached patch adds support for these two missing buttons/keys. Note 1: Some missing definitions were added for the already existing key codes SDL_SCANCODE_APP1 and SDL_SCANCODE_APP2 (to keep up the correct order of enumerations / array positions when adding the two new key codes). Note 2: Definitions in "scancodes_linux.h" and "scancodes_xfree86.h" (to also add support for these keys on other platforms) were added without testing. However, I was unable to find corresponding definitions for these two media keys for Windows and Mac OS X. Note 3: I have also updated the (broken) link to the USB usage page standard PDF document (comment in "include/SDL_scancode.h").
Sam Lantinga 2cc68064 2017-07-20T10:39:47 Fixed bug 3705 - Add capture support to the sndio backend kdrakehp The attached patch adds capture support to the sndio backend. The patch also allows the `OpenDevice' function to accept arbitrary device names.
Alex Szpakowski 01050d4e 2017-07-15T17:41:58 iOS: Use modern replacements for deprecated functions, when available.
Alex Szpakowski efe179cd 2017-07-14T17:42:11 macOS: Fix compilation when using 10.11 or earlier to build.
Alex Szpakowski 562473c1 2017-07-13T23:09:37 macOS: Address more compiler warnings when building with a recent deployment target.
Alex Szpakowski bc3ede1e 2017-07-13T22:59:02 macOS: Replace uses of deprecated Cocoa enum names with modern/consistent equivalents.
Alex Szpakowski e0ea4da4 2017-07-12T21:32:10 Fix a potential crash in macOS 10.7 and earlier.
Alex Szpakowski 8292d73e 2017-07-12T21:28:32 macOS: Expose more display modes on retina screens. Fixes an issue found in BZFlag.
Sam Lantinga 49f846f1 2017-07-11T19:27:50 Added support for an XBox One wired controller for Leo L?nnenm?ki
Sam Lantinga 74ca1654 2017-07-11T08:16:00 Fixed bug 3699 - Shaped windows are distorted unless width is divisible by 8 Bogomancer On X11, windows created using the shaped window API appear distorted unless the width of the shape surface is divisible by 8. Steps to reproduce: 1) Use your favorite image editor to resize one of the images in test/shapes/ to a width that's not a multiple of 8. 2) Compile and run test/testshape.c on the image you edited. 3) The shaped window will appear twisted and distorted. It appears the bug was not caught sooner because all the test images are either 640 or 256 pixels wide. I tracked down the bug to SDL_CalculateShapeBitmap() in SDL_shape.c. The shape surface is reduced to a 1-bit-per-pixel mask, but the original code doesn't take into account that X11 apparently wants each scanline to begin on a new byte.
Sam Lantinga 34b29c6a 2017-07-10T18:40:35 Fixed bug 3688 - cmake / pthread check related patch proposal Juha Niemim?ki Fix for PTHREAD_MUTEX_RECURSIVE_NP check and restoring the original flags Two fixes proposed: 1) Looks like there is a copy-paste issue regarding PTHREAD_MUTEX_RECURSIVE_NP check. 2) Compiler flag restoration doesn't look symmetrical regarding if/endif blocks. Moved to an outer block (if PTHREADS).
Sam Lantinga 3c09265d 2017-07-10T18:31:28 Fixed bug 3609 - Windows build fails due to conflicting types for 'XINPUT_GAMEPAD_EX' Ozkan Sezer (In reply to Ryan C. Gordon from comment #9) > I've put this patch in as https://hg.libsdl.org/SDL/rev/7213ae46e870 ...can > you verify this works on the latest MinGW? > > Thanks, > --ryan. This patch is wrong: the structure in question has nothing to do with any gcc version in use. I suggest reverting this adding a conigury check for it, instead. Something like the following should do it: (configure needs regenerating.)
Sam Lantinga cd79d8cc 2017-07-10T17:16:12 Fixed bug 3696 - SDL_ShowMessageBox displays different error from intended Mark Callow SDL_ShowMessageBox calls SDL_CaptureMouse which, in the UIKit driver, raises a ?That operation is not supported? error, overwriting the SDL error that an application may be trying to report. This is because UIKit SDL_CaptureMouse returns SDL_Unsupported() which ends up calling SDL_SetError() which has the following code: /* If we are in debug mode, print out an error message */ SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", SDL_GetError()); The SDL_GetError call here overwrites the static buffer?.. Although an application can avoid this by using SDL_GetErrorMsg(char* errstr, int maxlen) to avoid the static buffer, SDL should be fixed. The fix is simple. In SDL_SetError change SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", SDL_GetError()); to SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", error); where error is the pointer to the buffer where it assembled the message.
Sam Lantinga 37722d01 2017-07-10T17:07:19 Fixed bug 3697 - Main thread gets stuck on left mouse down Amruth Raj - My app runs in full screen to play video(I use SDL_WINDOW_FULLSCREEN_DESKTOP) - Cmd-tab to go out of full screen to another app - Cmd-tab again to get back to my app - Press left mouse button at one of the edges of the screen, don't release yet. After this point the main thread is stuck until I release the left mouse button and hence video rendering doesn't happen anymore. On debugging more, I see that thread 0 is stuck as shown below with sendEvent processing left mouse down. It comes out only after it receives a left mouse up. There are some frames below which show NSWindowResizing, but my window flag doesn't have SDL_WINDOW_RESIZABLE set. Thread 0:: CrBrowserMain Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x00007fffbe13d34a mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fffbe13c797 mach_msg + 55 2 com.apple.CoreFoundation 0x00007fffa889d434 __CFRunLoopServiceMachPort + 212 3 com.apple.CoreFoundation 0x00007fffa889c8c1 __CFRunLoopRun + 1361 4 com.apple.CoreFoundation 0x00007fffa889c114 CFRunLoopRunSpecific + 420 5 com.apple.HIToolbox 0x00007fffa7dfdebc RunCurrentEventLoopInMode + 240 6 com.apple.HIToolbox 0x00007fffa7dfdcf1 ReceiveNextEventCommon + 432 7 com.apple.HIToolbox 0x00007fffa7dfdb26 _BlockUntilNextEventMatchingListInModeWithFilter + 71 8 com.apple.AppKit 0x00007fffa6396a54 _DPSNextEvent + 1120 9 com.apple.AppKit 0x00007fffa6b127ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796 10 com.apple.AppKit 0x00007fffa66f568d +[NSWindow(NSWindowResizing) _mouseHysteresisCheck:withExpiration:andDistance:finalMouseLocation:] + 525 11 com.apple.AppKit 0x00007fffa65eedb5 -[NSWindow(NSWindowResizing) _hitTestWithHysteresisCheck:forEvent:allowWindowDragging:] + 394 12 com.apple.AppKit 0x00007fffa6c8f0db -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 1873 13 com.apple.AppKit 0x00007fffa6c8ca6c -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 1942 14 com.apple.AppKit 0x00007fffa6c8bf0a -[NSWindow(NSEventRouting) sendEvent:] + 541 15 org.libsdl.SDL2 0x000000010d46d74a -[SDLWindow sendEvent:] + 90 16 com.apple.AppKit 0x00007fffa6b10681 -[NSApplication(NSEvent) sendEvent:] + 1145 17 org.libsdl.SDL2 0x000000010d46532b -[SDLApplication sendEvent:] + 139 18 org.libsdl.SDL2 0x000000010d466b2f Cocoa_PumpEvents + 495 19 org.libsdl.SDL2 0x000000010d44c1d5 SDL_PumpEvents_REAL + 53 20 org.libsdl.SDL2 0x000000010d44c2f5 SDL_WaitEventTimeout_REAL + 53 21 org.libsdl.SDL2 0x000000010d44c2b7 SDL_PollEvent_REAL + 23 22 org.libsdl.SDL2 0x000000010d51bb24 SDL_PollEvent + 36 23 libTest.dylib 0x000000010cf3e0e8 SDLEventProcessor::processEvents(int) + 568 24 Test 0x000000010cde6bba BrowserApp::RunAppMessageLoop(BAInstData*, CefStringBase, CefStringBase) + 810 25 Test 0x000000010ce04bbc main + 17980 26 libdyld.dylib 0x00007fffbe016235 start + 1 I further noticed that while entering full screen in SDL_cocoawindow.m NSResizableWindowMask is set. If I clear it inside windowDidEnterFullScreen, then, the issue doesn't repro. This is discussed at https://discourse.libsdl.org/t/main-thread-gets-stuck-on-left-mouse-down/22753/3 and thanks to Eric for the pointers.
Sam Lantinga 66f072eb 2017-07-10T15:55:13 Updated Visual Studio 2008 project
Philipp Wiesemann 88100237 2017-07-09T23:00:43 Updated generated configure script.
Philipp Wiesemann 707ee5be 2017-07-09T23:00:35 Fixed typo in log message in testime program.
Philipp Wiesemann 44246cda 2017-07-09T23:00:25 Fixed compiler warning about redundant declaration. SDL_RecordGesture() is already in the gesture header with additional specifiers.
Philipp Wiesemann 10764b20 2017-07-07T23:00:47 Fixed missing audio entries in configure summary.
Philipp Wiesemann c3bf69ca 2017-07-07T23:00:22 haiku: Fixed compiling without OpenGL support.
Philipp Wiesemann fb9c2939 2017-07-07T23:00:10 qnx: Fixed setting a field twice.
Ryan C. Gordon 1683a0c1 2017-07-05T12:04:37 audio: trying to pacify static analysis.
Ryan C. Gordon c80c3419 2017-07-04T20:44:07 x11: pass a long to XChangeProperty, not an int. The Xlib documentation demands that 32-bit values here be passed in a long, even when long itself isn't a 32-bit value. Otherwise libx11 might read memory incorrectly. Fixes Bugzilla #3692.
Ryan C. Gordon b36755a3 2017-07-03T16:45:12 power: whoops, that should be "==" not "!=".
Ryan C. Gordon c27dc514 2017-07-03T16:38:37 power: Linux /sys/class testing should skip "device" scopes. (the PS4 game controllers report their batteries through this interface, which is cool, but not helpful for powering the rest of the system. :) )
Philipp Wiesemann 9f99b3d7 2017-07-02T22:46:49 aix: Fixed audio debug output. DEBUG_AUDIO is checked with #ifdef not #if.
Philipp Wiesemann e6583300 2017-07-02T22:46:23 haiku: Fixed using wrong constant for internal error handling. SDL_CreateWindow() worked because ENOMEM is negative on Haiku.
Philipp Wiesemann 4366721b 2017-07-02T22:46:00 qnx: Removed unused bootstrap declaration. QNX_bootstrap is the VideoBootStrap. QSAAUDIO_bootstrap is still there.
Philipp Wiesemann e3497e79 2017-07-02T22:45:31 qnx: Fixed configure script setting wrong variable.
Ryan C. Gordon 200f782c 2017-07-01T19:52:12 qnx: fixed potential buffer overflow.
Ryan C. Gordon 22241ed0 2017-07-01T17:50:47 Support for QNX 7.0 (thanks, Elad!). Fixes Bugzilla #3686.
Philipp Wiesemann b1fbab50 2017-07-01T23:01:57 haiku: Fixed memory leak if destroying window.
Philipp Wiesemann 380e0693 2017-07-01T23:01:49 aix: Fixed compile error.
Philipp Wiesemann 4c190ce5 2017-07-01T23:00:07 netbsd: Fixed comment.
Philipp Wiesemann 4c48260c 2017-06-29T23:00:18 netbsd: Removed unused field.
Philipp Wiesemann 7bb6b402 2017-06-29T23:00:09 netbsd: Fixed compile error.
Philipp Wiesemann 944e06e6 2017-06-24T23:45:44 winrt: Fixed SDL include.
Philipp Wiesemann 46b77b73 2017-06-24T23:45:34 raspberrypi: Fixed typos in README.
Philipp Wiesemann 705efc35 2017-06-24T23:45:19 Fixed handling only one event per frame in testshape program.
Ryan C. Gordon d96419c9 2017-06-21T01:22:00 xinput: use the full range of the haptic motors (thanks, Trent!). XInput goes from 0 to 64k; we were feeding it values in the range of 0 to 32k. Fixes Bugzilla #3002.
Philipp Wiesemann 267dca13 2017-06-18T23:00:42 haiku: Removed unused internal function. Its functionality is already in SDL_GL_GetAttribute().
Philipp Wiesemann cc00a300 2017-06-18T23:00:27 pandora: Fixed compiler warning about redefining SDL_REVISION. Makefile must not create the revision header anymore because it already exists.
Philipp Wiesemann 90488d6c 2017-06-17T22:30:28 haiku: Added support for some values set with SDL_GL_SetAttribute().
Philipp Wiesemann 6086e8d3 2017-06-17T22:30:09 haiku: Fixed missing slash in path from SDL_GetPrefPath().
Philipp Wiesemann 0b750cd9 2017-06-16T23:30:38 pandora: Fixed compile error.
Philipp Wiesemann fa73685d 2017-06-16T23:30:30 directfb: Fixed quitting keyboard twice. SDL_VideoQuit() already calls SDL_KeyboardQuit().
Philipp Wiesemann a4db3dbe 2017-06-16T23:30:13 nacl: Fixed unnecessary large input text array.
Sam Lantinga 9085c7b3 2017-06-16T11:14:08 Get the parent of non-SDL-created windows, for completeness
Sam Lantinga 1b5614b3 2017-06-16T10:50:29 Clean up parent window when destroying a window
Sam Lantinga 0a75192d 2017-06-16T09:10:13 Implemented SDL_WINDOW_SKIP_TASKBAR on Windows
Philipp Wiesemann a725efa4 2017-06-15T23:30:50 linux: Fixed using wrong constant for input text size.
Philipp Wiesemann 60c0f7e2 2017-06-15T23:30:29 Fixed SDL_GetWindowWMInfo() returning success on three unsupported platforms.
Ryan C. Gordon a509719f 2017-06-12T21:35:24 audio: Converter now checks a strict list of channels and formats we support.
Sam Lantinga 553b3286 2017-06-12T16:39:15 Fixed bug 3668 - Overflow of SDL_AudioCVT.filters with some downmixes Simon Hug There's a chance that an audio conversion from many channels to a few can use more than 9 audio filters. SDL_AudioCVT has 10 SDL_AudioFilter pointers of which one has to be the terminating NULL pointer. The SDL code has no checks for this limit. If it overflows there can be stack or heap corruption or a call to 0xa. Attached patch adds a function that checks for this limit and throws an error if it is reached. Also adds some documentation. Test parameters that trigger this issue: AUDIO_U16MSB with 224 channels at 46359 Hz V AUDIO_S16MSB with 6 channels at 27463 Hz The fuzzer program I uploaded in bug 3667 has more of them.
Sam Lantinga c1cd93e5 2017-06-12T16:35:34 Fixed bug 3670 - CMake IOS haptic error
Philipp Wiesemann 22c221f3 2017-06-11T22:30:58 linux: Changed internal functions to be static.
Philipp Wiesemann 5b75e903 2017-06-11T22:30:49 directfb: Fixed comment.
Philipp Wiesemann fbd30c36 2017-06-11T22:30:39 Fixed missing error messages for SDL_GetWindowWMInfo().
Philipp Wiesemann c609d856 2017-06-11T22:30:24 directfb: Fixed crash if creating renderer. SDL_GetWindowWMInfo() currently expects SDL to be 2.0.6 but SDL is still 2.0.5.
Philipp Wiesemann 121d7d25 2017-06-11T22:30:06 directfb: Fixed configure script not finding shared objects for dynamic loading.
Ryan C. Gordon e5f4a71f 2017-06-11T16:00:45 cmake: iOS haptic section was referencing power source code (thanks, Martin!). Fixes Bugzilla #3670.
Ryan C. Gordon 3c955d05 2017-06-11T00:50:26 syswm: prevent buffer overflow if SDL and app have different config headers. This only affects Wayland and DirectFB, as a Unix system generally has X11 support. Other platforms also have different sizes for the C union in question, but are likely the only target for that platform, etc. Apps that might run on Wayland or DirectFB will need to be compiled against new headers from an official 2.0.6 release, or be prepared to force the x11 target, or not use SDL_GetWindowWMInfo(). Fixes Bugzilla #3428.
Alex Szpakowski bb100d3b 2017-06-10T21:29:37 Expose display refresh rate on iOS/tvOS 10.3+.
Ryan C. Gordon 43d62b74 2017-06-10T15:38:14 Make compile-time assert error messages more clear. Now the compiler might say this: 'SDL_compile_time_assert_mytest' declared as an array with a negative size instead of 'SDL_dummy_mytest' declared as an array with a negative size
Ryan C. Gordon 325330ef 2017-06-09T17:37:43 jack: removed accidental copy/paste.
Ryan C. Gordon 58f08af4 2017-06-09T00:47:47 jack: added capture support.
Ryan C. Gordon c39fd577 2017-06-09T00:14:50 jack: Move jack_client_t into the audio device instead a global variable.
Ryan C. Gordon b65e0777 2017-06-08T22:20:49 jack: Remove BROKEN_MULTI_DEVICE code.
Philipp Wiesemann cb591ee6 2017-06-08T22:40:35 Fixed ignoring first event in testshape program. Found by Cppcheck.
Philipp Wiesemann 456bc301 2017-06-08T22:40:21 Fixed environment variable of SDL_HINT_RENDER_LOGICAL_SIZE_MODE.
Philipp Wiesemann 871d43a8 2017-06-08T22:40:09 Removed unused hint includes.
Ryan C. Gordon d9039f23 2017-06-08T13:27:58 jack: Initial shot at a JACK audio target. http://jackaudio.org/ Fixes Bugzilla #2163. (with several more commits following to improve this code.)
Ryan C. Gordon 92889836 2017-06-06T14:06:40 Merged Eric Wing's overscan patch. Fixes Bugzilla #2799.
Ryan C. Gordon dc8a22cd 2017-06-06T13:39:29 cmake: don't use /NODEFAULTLIB if we are using the C runtime (thanks, Rob!). Fixes Bugzilla #3640.
Ryan C. Gordon 6d661cab 2017-06-06T13:12:43 windows: Change the default on SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING. It's easier for Visual Studio users that want this information to turn it on or live without it, than it is to explain why every debugger that isn't Visual Studio crashes out here. Eventually SetThreadDescription() will be the thing everyone uses anyhow. Fixes Bugzilla #3645. (and several others).
Ryan C. Gordon d8444877 2017-06-06T12:35:35 windows: Fix compiling of XInput code on newer MinGW installs. Fixes Bugzilla #3609.
Ryan C. Gordon 599d9ba1 2017-06-05T21:30:25 emscripten: listen for pointerlockchange events on the #document specifically.
Philipp Wiesemann 4b47fa38 2017-06-04T23:15:47 Removed duplicate includes.
Philipp Wiesemann cbcc256f 2017-06-04T23:15:39 Fixed comments in headers for doxygen output.
Philipp Wiesemann 52b7d0eb 2017-06-04T23:15:27 android: Fixed missing error message for SDL_GetBasePath().
Philipp Wiesemann 248410dd 2017-06-04T23:15:13 Fixed SDL_GL_SetSwapInterval() returning success on two unsupported platforms.
Olli Kallioinen 11289b76 2017-06-04T21:25:57 Android cmake build fixed to work with the official android gradle plugin
Philipp Wiesemann 2113208d 2017-06-03T23:00:50 haiku: Fixed missing title bar for windows with decorations. B_BORDERED_WINDOW_LOOK has a border but no title bar.
Philipp Wiesemann fc436a3a 2017-06-03T23:00:40 android: Moved internal function to new position. It was grouped with functions for the public system header.
Philipp Wiesemann 63b3e06f 2017-06-03T23:00:15 Corrected names of header file guards.
Philipp Wiesemann 07b0df0a 2017-06-02T22:15:37 haiku: Changed internal variable to be static.
Philipp Wiesemann 850185f4 2017-06-02T22:15:23 Fixed crash if creating textures failed in testshape program.
Philipp Wiesemann 00394996 2017-06-02T22:15:12 Fixed crash if calling SDL_CreateShapedWindow() on unsupported platforms.
Ryan C. Gordon 5dc35013 2017-05-29T18:24:06 test: Makefile.in should copy bitmap and wave files to build directory. I've lost count of the times I've forgotten to do this manually and wondered why loopwave can't open sample.wav. :)
Ryan C. Gordon d4086e4a 2017-05-29T03:01:05 stdlib: added SDL_utf8strlen().
Ryan C. Gordon b135557d 2017-05-29T02:48:51 linux: Don't crash if fcitx support is requested but unavailable. Fixes Bugzilla #3642.
Ryan C. Gordon a1faea98 2017-05-29T00:54:08 fcitx: removed incompatibly-licensed code.
Ryan C. Gordon 29a047df 2017-05-29T00:51:38 Fixed whitespace code style.
Ryan C. Gordon 1c5f483a 2017-05-29T00:51:02 linux: removed IBus_utf8_strlen(), use SDL_utf8strlen() instead.