src/video


Log

Author Commit Date CI Message
Charlie Birks 6d89a7bc 2019-01-29T12:19:32 Emscripten: remove GLES_DeleteContext implementation It was calling glClear without a context. The issue it was trying to solve was actually that after destroying a window and creating a new one , the contents of the old window were preserved. This no longer happens since we resize the window to nothing on destroy.
Charlie Birks 04b1494c 2019-01-29T12:19:23 Emscripten: resize canvas to 0x0 in DestroyWindow Closest we can get to actually destroying it
Charlie Birks d60546aa 2019-01-29T12:19:06 Emscripten: don't zero the display mode before adding it
Charlie Birks 4a2888af 2019-01-29T12:19:03 Emscripten: use UTF8ToString instead of Pointer_stringify
Charlie Birks 8dab9c95 2019-01-29T12:18:56 Emscripten: Use set_canvas_element_size This will be needed for supporting multiple canvases and set_canvas_size is deprecated anyway.
kichikuou ed66a430 2019-01-29T12:14:54 Emscripten: Do not consume mouseup event outside of the canvas
Sylvain Beucler 2838abb5 2019-01-29T12:14:44 Emscripten: fix duplicate mousebuttonup/mousebuttondown events when touch events are disabled
Charlie Birks 1767d091 2019-01-29T12:14:41 Emscripten: use a fake size for external sizing check The check would fail if the canvas happened to be the correct size already. (#66, mentioned in #58)
Charlie Birks 80d690a2 2019-01-29T12:14:33 Emscripten: reset fullscreen_window when leaving fullscreen If the browser left fullscreen mode by the user pressing ESC, the next call to SDL_SetWindowFullscreen(1) will fail as it thinks the window is already fullscreen. (#65)
Sylvain Becker d984f323 2019-01-21T19:53:06 Fixed bug 3827 - issue with MapRGB, palette and colorkey For palette surface, SDL_MapRGB() returns different values whether colorkey is set or not.
Sylvain Becker 2bd26b8d 2019-01-21T18:45:15 Fixed bug 3827 - issue with MapRGB, palette and colorkey For a palettized surface, prevent SDL_MapRGB() value to change whether colorkey is set or not.
Sam Lantinga 61827c6d 2019-01-20T12:02:12 Fixed compiler warning on Android
Sylvain Becker e5f8801f 2019-01-17T11:05:05 Android: prevent concurrency in Android_SetScreenResolution() when exiting by checking Android_Window validity - SDLThread: user application is exiting: SDL_VideoQuit() and clearing SDL_GetVideoDevice() - ActivityThread is changing orientation/size surfaceChanged() > Android_SetScreenResolution() > SDL_GetVideoDevice() - Separate function into Android_SetScreenResolution() and Android_SendResize(), formating, and mark Android_DeviceWidth/Heigh as static
Sylvain Becker e994be58 2019-01-16T10:31:51 Android: move static variable isPaused/isPausing to SDL_VideoData structure - remove unneed check to Android_Window->driverdata - add window check into context_backup/restore
Sylvain Becker dc263450 2019-01-14T23:33:48 Android: create Pause/ResumeSem semaphore at higher level than CreateWindow() - If you call onPause() before CreateWindow(), SDLThread will run in infinite loop in background. - If you call onPause() between a DestroyWindow() and a new CreateWindow(), semaphores are invalids. SDLActivity.java: the first resume() starts the SDLThread, don't call nativeResume() as it would post ResumeSem. And the first pause would automatically be resumed.
Sylvain Becker 955d8789 2019-01-14T12:33:29 Android/openslES: set audio in paused/resumed state for Android event loop And also in "stopped" state before closing the device.
Sam Lantinga fb8cb95f 2019-01-12T12:12:43 Fixed compiler warning
Sylvain Becker 7a1d1bae 2019-01-10T21:40:57 Android: add name for Touch devices and simplification, from bug 3958
Sylvain Becker 02f292eb 2019-01-09T22:49:49 Android: add some SetError for Android_SetWindowFullscreen First error could happen if Android_SetWindowFullscreen somehow gets called between SurfaceDestroyed() and SurfaceCreated() Second error should not happen has native_window validity is guaranteed. (It would happens previously with error -19)
Sylvain Becker 1803944b 2019-01-09T15:18:41 Android: concurrency issue for Android_SetWindowFullscreen() It accesses data->native_window, which can be changed by onNativeSurfacedChanged(). Currently, Android_SetWindowFullscreen() may access data->native_window after it has been released, and before a new reference is acquired. (can be reproduced by adding some SDL_Delay() in onNativeSurfacedChanged and Android_SetWindowFullscreen() ).
Sylvain Becker 462e62e1 2019-01-06T20:25:54 Android: better fix for bug 3186. Run those commands from SDL thread.
Sylvain Becker e4f558a5 2019-01-05T22:46:52 Android: un-needed check of "isPausing" and minor typos
Sylvain Becker 35722b64 2019-01-05T22:27:25 Android: fix wrong state after immediate sequence pause() / resume() / pause() It may happen to have the sequence pause()/resume()/pause(), before polling any events. Before, it ends in 'resumed' state because as the check is greedy. Now, always increase the Pause semaphore, and stop at each pause. It ends in 'paused' state. Related to bug 3250: set up a reconfiguration of SurfaceView holder. Turn the screen off manually before the app starts (repro rate is not 100%..)
Sam Lantinga d4c0f498 2019-01-04T22:09:38 Fixed bug 4255 - SDL_GetGlobalMouseState() returns incorrect Y on secondary display Julian Raschke I use an open Mac laptop with an additional external monitor. The coordinate spaces from SDL_GetGlobalMouseState() and SDL_GetWindowPosition() match on the primary display, but not on the secondary display. Cocoa window coordinates are vertically flipped in relation to the primary display: https://github.com/spurious/SDL-mirror/blob/release-2.0.8/src/video/cocoa/SDL_cocoawindow.m#L219-L222 However, Cocoa_GetGlobalMouseState inverts the cursor Y coordinate per-display: https://github.com/spurious/SDL-mirror/blob/release-2.0.8/src/video/cocoa/SDL_cocoamouse.m#L320-L323 Suggested fix: Replace the for-loop with this simpler calculation: *x = (int) cocoaLocation.x; *y = (int) (CGDisplayPixelsHigh(kCGDirectMainDisplay) - cocoaLocation.y);
Sam Lantinga 5e13087b 2019-01-04T22:01:14 Updated copyright for 2019
Sylvain Becker 2a885eb0 2019-01-04T23:39:27 Android: fixed immediate transition to pause and resume. "Pause" transition will add events: SDL_WINDOWEVENT_ENTER SDL_WINDOWEVENT_FOCUS_LOST SDL_WINDOWEVENT_MINIMIZED SDL_APP_WILL ENTER BACKGROUND SDL_APP_DID ENTER BACKGROUND "Resume" transition will add events: SDL_APP_WILL ENTER FOREGROUND SDL_APP_DID ENTER FOREGROUND SDL_WINDOWEVENT_FOCUS_GAINED SDL_WINDOWEVENT_RESTORED If Android application doesn't empty the event loop in between, it enters in "paused" state when SDL_WINDOWEVENT_RESTORED is fetched. See bug 3250 for pratical case.
Sylvain Becker cf122344 2019-01-04T23:11:21 Android: make Android_PumpEvents() more readable No behavior change in this commit.
Sylvain Becker ca184ac3 2019-01-03T23:22:50 Android: concurrency issue with egl_surface EGL_BAD_SURFACE - (bug 4142) Occurs when application goes to background: - Java activity is destroying SurfaceView holder and "egl_surface" (in onNativeSurfaceDestroyed()) - While native thread is in Android_GLES_SwapWindow(), prepared to call SDL_EGL_SwapBuffers() The error is "call to eglSwapBuffers failed, reporting an error of EGL_BAD_SURFACE" It an be reproduced easily by adding a SDL_Delay(100) at the begining of SDL_EGL_SwapBuffers(), and putting the application into background.
Sylvain Becker 2e19343d 2019-01-03T20:18:29 Android: use Mutex instead of Semphore for bug 4142
Sylvain Becker 23478642 2019-01-03T16:22:33 Android: prevent the error message from SDL_EGL_CreateSurface() to be masked.
Sylvain Becker cc8f1136 2019-01-03T14:18:06 Fixed bug 4142 - Concurrency issues in Android backend Use a semaphore to prevent concurrency issues between Java Activity and Native thread code, when using 'Android_Window'. (Eg. Java sending Touch events, while native code is destroying the main SDL_Window. )
Sylvain Becker d11f7615 2019-01-03T13:38:33 Android: minor preparation for bug 4142 (concurrency issues)
Sylvain Becker 5dc25fef 2019-01-03T13:14:16 Android: preparation bug 4142, reduce usage of global variable Android_Window
Sylvain Becker a95f91bc 2019-01-02T18:06:33 Fixed bug 3250 - Wrong backbuffer pixel format on Android, keep getting RGB_565 Use the egl format to reconfigure java SurfaceView holder format. If there is a change, it triggers a surfaceDestroyed/Created/Change sequence.
Ryan C. Gordon 13869f19 2018-12-16T01:03:17 cocoa: Implement OpenGL swap interval support with CVDisplayLink. Not only does this fix macOS 10.14 ("Mojave")'s broken NSOpenGLCPSwapInterval support, it also lets us implement "adaptive vsync" on macOS! CVDisplayLink is supported back to macOS 10.4 ("Tiger"), so we just use it universally without version checks and dump NSOpenGLCPSwapInterval, Mojave or not.
Sylvain Becker 1ed60219 2018-12-15T16:21:24 Fixed bug 4426 - allows re-creation of software renderer Switching between renderers "software -> opengl -> opengles2 -> software" fails. "opengl -> opengles2" calls SDL_RecreateWindow() and frees "window->surface" without marking it as "surface_invalid".
Sam Lantinga bd08d72d 2018-12-11T20:04:10 Fixed building with the 10.10 SDK
Sam Lantinga 1c9595b1 2018-12-08T11:06:40 Fixed bug 4415 - SDL menu bar is nonstandard on Mac foo.null I'm on macOS 10.14 and I think I'm using or around SDL 2.0.9. This is about the menu bar that SDL sets up which looks like: <App Name> <Window> <View> 1. View menu never proceeds after the Window menu in any Mac application (it is always before). 2. For SDL, the only purpose of the View menu is for a single fullscreen menu item, which is not justifiable enough to reserve space for a menu. The View menu should thus be removed, and the full screen menu item should be added at the end inside of Window's menu. See built in apps like Dictionary, Chess, App Store (on 10.14) that do this. 3. SDL should add a "Close" menu item to the Window's submenu, and it should be the first item. Its key equivalent should map to command w. Without this, you cannot close the game window via this shortcut, and you cannot close the app's About window via this shortcut. 4. Apps typically use "Enter Full Screen" or "Exit Full Screen" depending on context, not "Toggle Full Screen" which is less user friendly -- I personally care about this point the least.
Brandon Schaefer f9192ab8 2018-12-06T10:39:33 wayland: Do not try to lock on an invalid pointer This happens if you try to lock the pointer and (caps & WL_SEAT_CAPABILITY_POINTER) is false Leading to input->pointer being NULL which ends up bringing the wayland client down (at lease on weston)
Sylvain Becker 252dc85e 2018-12-06T09:22:00 Fix warnings detected on Android build
Ryan C. Gordon 2878d4f8 2018-12-05T16:53:15 egl: Don't force X11 support when testing for EGL. Fixes building Wayland support on embedded systems without X11. (TODO: maybe move the EGL test out of the X11 tests at some point, too.)
Ryan C. Gordon bd3ee07c 2018-12-05T16:49:38 wayland: Send SDL_TOUCH_MOUSEID mouse events for touches.
Ryan C. Gordon 65a7c98c 2018-12-02T02:33:06 directfb: Updated render backend to new internal API. Totally untested, beyond it now compiles again. Probably needs some fixes. Fixes Bugzilla #4405.
Sergey Zhuravlevich 583f61b2 2018-12-01T16:31:56 kmsdrm: Check for resources when validating KMSDRM device in check_modesetting. Fixes Bugzilla #4403.
Sergey Zhuravlevich b3ac87d5 2018-12-01T13:09:00 kmsdrm: uninitialized KMSDRM fixes * Search for valid encoder in connector when it doesn't have an encoder ID set. * Search for valid CRTC in resources and encoder's possible CRTCs when encoder doesn't have one set. * Select default mode if CRTC doesn't have a valid one. * Pick current_mode's W/H/Refresh Rate basing on current and valid CRTC mode, not the saved one.
Ryan C. Gordon c4bc59a5 2018-12-01T10:36:26 Patched to compile on Linux with --disable-threads. Fixes Bugzilla #4393.
Sam Lantinga a95291c9 2018-11-27T11:16:04 Fixed the hotspot for cursors on Raspberry Pi
Sam Lantinga aea48357 2018-11-27T10:20:29 Fixed bug changing cursors on Raspberry Pi
Sam Lantinga 5c5ba0e3 2018-11-19T21:35:59 Fixed bug 4394 - Crash in SDL_PumpEvents() after SDL_DestroyWindow() Cameron Gutman After updating to SDL 2.0.9, I got a user report that my app was crashing when closing a SDL_WINDOW_FULLSCREEN window to return to my Qt-based UI. It looks like the dead SDL window is getting a spurious updateLayer call which is causing SDL to dereference a null SDL_WindowData pointer. For some reason, this only happens when using SDL_WINDOW_FULLSCREEN and not windowed or SDL_WINDOW_FULLSCREEN_DESKTOP. I was also unsuccessful in my attempt to get a simple reproducer for this crash. The Session.cpp code is available https://github.com/moonlight-stream/moonlight-qt/blob/688c4a90d994aa23e7b0af3ffcbb8707886db780/app/streaming/session.cpp but I slightly modified it (adding a SDL_PumpEvents() call at 1179 to immediately trigger the issue, otherwise it happened when Qt next pumped the event loop). The crashing line is: NSMutableArray *contexts = data->nscontexts;
Alex Szpakowski c525ff35 2018-11-10T20:56:23 cocoa: fix building with the macOS 10.7 SDK (thanks Riccardo!) Fixes bug #4368
Alex Szpakowski 5029d50e 2018-11-10T16:15:48 Add SDL_TouchDeviceType enum and SDL_GetTouchDeviceType(SDL_TouchID id). Touch device types include SDL_TOUCH_DEVICE_DIRECT (a touch screen with window-relative coordinates for touches), SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE (a trackpad-style device with absolute device coordinates), and SDL_TOUCH_DEVICE_INDIRECT_RELATIVE (a trackpad-style device with screen cursor-relative coordinates). Phone screens are an example of a direct device type. Mac trackpads are the indirect-absolute touch device type. The Apple TV remote is an indirect-relative touch device type.
Sam Lantinga 9665a508 2018-11-06T16:57:07 Added Vulkan headers version 1.1.91 Downloaded from https://github.com/KhronosGroup/Vulkan-Headers
Sebastian Krzyszkowiak 48917e0e 2018-11-07T01:08:35 wayland: fix resizing and fullscreen toggling For starters, we need to correctly respond to 0,0 configure after unsetting fullscreen. Also, turns out that there should be no drawing calls at all in between eglSwapBuffers and wl_egl_window_resize, as otherwise EGL can already allocate a wrongly sized buffer for a next frame, so handle those together.
Sebastian Krzyszkowiak 5f980514 2018-11-04T21:08:40 wayland: ask xdg-decoration protocol extension to use server-side decorations if possible.
Ryan C. Gordon bc57ac27 2018-11-02T21:34:17 mir: Removed mir client support. Fixes Bugzilla #4288.
Ryan C. Gordon 4659e738 2018-11-01T12:31:45 merge fallout: Patched to compile, fixed some compiler warnings, etc.
Sam Lantinga aeee424f 2018-10-31T15:16:51 Fixed bug 4349 - SDL_CreateWindow fails with KMS/DRM after upgrading Mesa to 18.2.3 Rainer Sabelka After I did an upgrade of my arch Linux installation (resulting in an update of Mesa to version 18.2.3), all my SDL2 applications which use the KMS/DRM driver stopped working. Reason: Creating a Window with SDL_CreateWindow failed because the call to EGL eglCreateWindowSurface() returns an error "EGL_BAD_MATCH". After investigating with the debugger I figured, that the configuration, which has been selected from the output of eglChooseConfig(), has an "EGL_NATIVE_VISUAL_ID" which does not match the "format" of the underlying gbm surface. The attached patch fixes the problem. It does so, by mimicking Weston's behavior. All configurations returned from eglChooseConfig() which have an visual_id different from the gbm format are discarded, and only from the remaining ones the "best" match is selected.
Ryan C. Gordon 62494a2e 2018-10-31T15:03:41 Merge SDL-ryan-batching-renderer branch to default.
Ryan C. Gordon a5ebd4d7 2018-10-29T10:14:59 wayland: ask KDE protocol extension to use server-side decorations if possible.
Micha? Janiszewski 91820998 2018-10-28T21:36:48 Add and update include guards Include guards in most changed files were missing, I added them keeping the same style as other SDL files. In some cases I moved the include guards around to be the first thing the header has to take advantage of any possible improvements compiler may have for inclusion guards.
Ryan C. Gordon b262b0eb 2018-10-22T20:50:32 Small stack allocations fall back to malloc if they're unexpectedly large.
Ryan C. Gordon 1ec56f73 2018-10-20T21:35:48 x11: Fixed incorrect function signature for XkbSetDetectableAutoRepeat. It needs to use Bool (which is an int) and not BOOL (which is CARD8), which causes problems on platforms with different byte order and alignment, etc. Fixes Bugzilla #4326.
Ryan C. Gordon 1fb20f0a 2018-10-18T23:38:27 cocoa: Put a mutex around GL_SwapBuffers. Prevents deadlock when swapping two different GL contexts on two different threads at the same time on macOS 10.14 ("Mojave"). Fixes Bugzilla #4278.
Ryan C. Gordon f6773773 2018-10-18T12:05:05 cocoa: Fix OpenGL rendering on macOS 10.14 ("Mojave"). Fixes Bugzilla #4272.
Ryan C. Gordon cad0a2f7 2018-10-18T12:05:05 cocoa: Fix OpenGL rendering on macOS 10.14 ("Mojave"). Fixes Bugzilla #4272. (transplanted from 54729119b348e8a4a916192d1d6cb8d115656255)
Ryan C. Gordon eac3fd28 2018-10-18T11:59:48 cocoa: GL_GetDrawableSize only uses -[NSView convertRectToBacking] for highDPI. On Mojave, this will report large numbers for retina displays in fullscreen mode, which isn't how it works on previous versions.
Ryan C. Gordon 072e17bf 2018-10-18T11:59:48 cocoa: GL_GetDrawableSize only uses -[NSView convertRectToBacking] for highDPI. On Mojave, this will report large numbers for retina displays in fullscreen mode, which isn't how it works on previous versions. (transplanted from c6c1731780e2bef94f944a4795e2dfbba46d9500)
Ryan C. Gordon dae4a013 2018-10-15T00:46:43 x11: Don't hardcode limit on lines of text in message boxes. Plus other text parsing fixes. Fixes Bugzilla #4306.
Alex Szpakowski e2ad654f 2018-10-14T17:26:10 iOS: Don't ignore the requested alpha bit size when determining whether to use an RGBA8 backbuffer.
Charlie Birks cd63709e 2018-10-13T17:18:59 Emscripten: Load eglQueryString and eglGetError This prevents an assertion on context creation failure (calling a null function pointer).
Alex Szpakowski d8022d19 2018-10-12T23:23:52 macOS: Fixed MoltenVK dynamic library loading code.
Alex Szpakowski d9094421 2018-10-12T17:55:42 metal: Fix high dpi and resizing on macOS, and clean up iOS code. Fixes bug #4250.
Cameron Gutman eff5f650 2018-10-09T23:01:43 Implement SuspendScreenSaver for Win32 Creating a full-screen SDL renderer on Windows will keep the screensaver suspended by DirectX, as is default for full-screen DX applications. However, for applications that render in windowed-mode, the screensaver will still kick in, even if SDL_DisableScreenSaver() is called or SDL_HINT_VIDEO_ALLOW_SCREENSAVER is set to 0 (default). Implementing a SuspendScreenSaver() function for Win32 fixes this behavior.
Ryan C. Gordon 88b32525 2018-10-09T00:27:55 kmsdrm: find available card if called without index. This work was done by Michael Grzeschik, I just cleaned up the patch a little. Fixes Bugzilla #4241.
Sam Lantinga 4d771c59 2018-10-08T12:49:25 Don't flash the navigation bar when destroying a fullscreen SDL window
Sam Lantinga 3ac9e2aa 2018-10-05T17:06:05 Fixed bug 4296 - kmsdrm video driver leaks 1 bo in KMSDRM_GLES_SetupCrtc() Icenowy Zheng One front buffer is locked in GLES_SetupCrtc() and overrides the next_bo just locked in KMSDRM_GLES_SwapWindow, then the next_bo gets lost and is not released even when quitting the video. It may leads to problems with GLES drivers that doesn't clean up GBM correctly if there's any bo left (e.g. the Mali Utgard r6p2 blob). In the case of Mali Utgard r6p2 blob, the DRM device file is still hold by the blob, and if you try to SDL_Quit to let another program to run (this is done by EmulationStation), the new program will fail to open DRM device.
Ryan C. Gordon 367f9b91 2018-10-05T17:24:03 wayland: Fixed missing window sizing events. Fixes Bugzilla #4242.
Sam Lantinga 6e35e421 2018-10-01T14:43:03 Working on bug 3921 - Add some Fastpath to BlitNtoNKey and BlitNtoNKeyCopyAlpha Sylvain I did various benches. with clang 6.0.0 on linux, and ndk-r16b on android (NDK_TOOLCHAIN_VERSION=clang). - still see a x10 speed factor. - with duff_loops, it does not use vectorisation (but doesn't seem to be a problem). on linux my patch is already at full speed on -O2, whereas the duff_loops need -O3 (200 ms at -03, and 300ms at -02). I realized that on Android, I had a slight variation which fits best. both on linux with -O2 and -O3, and on android with 02/03 and armeabi-v7a/arm64. Here's the patch.
Ozkan Sezer 922623e1 2018-10-01T21:29:11 SDL_blit_N.c (BlitNtoNKeyCopyAlpha): fix -Wshadow warnings by adding _ suffix to the temp Pixel local in the DUFFS_LOOP. SDL_blit.h (ASSEMBLE_RGB): add _ prefix to temp Pixel locals to avoid any possible shadowings. The warnings were like the following: In file included from src/video/SDL_blit_N.c:26:0: src/video/SDL_blit_N.c: In function 'BlitNtoNKeyCopyAlpha': src/video/SDL_blit_N.c:2421:24: warning: declaration of 'Pixel' shadows a previous local [-Wshadow] Uint32 Pixel = ((*src32 & rgbmask) == ckey) ? *dst32 : *src32; ^ src/video/SDL_blit.h:475:21: note: in definition of macro 'DUFFS_LOOP8' case 0: do { pixel_copy_increment; /* fallthrough */ \ ^ src/video/SDL_blit_N.c:2419:13: note: in expansion of macro 'DUFFS_LOOP' DUFFS_LOOP( ^ src/video/SDL_blit_N.c:2399:12: warning: shadowed declaration is here [-Wshadow] Uint32 Pixel; ^
Sam Lantinga 95579f5f 2018-10-01T09:40:58 Fixed bug 4220 - SDL_GL_CONTEXT_DEBUG_FLAG can fail silently on some Android devices
Alex Szpakowski fb485986 2018-09-30T11:26:41 macOS: Fix a crash when the video subsystem quits, if SDL_MAC_NO_SANDBOX was defined when SDL was compiled.
Sam Lantinga 74638ea3 2018-09-28T20:39:57 Ensure we wait on the surface resize before returning from setting fullscreen mode.
Sam Lantinga 7df0f4fd 2018-09-27T14:56:29 Fixed bug 4277 - warnings patch Sylvain Patch a few warnings when using: -Wmissing-prototypes -Wdocumentation -Wdocumentation-unknown-command They are automatically enabled with -Wall
Ryan C. Gordon 7689162c 2018-09-26T20:10:32 cocoa: Force an OpenGL context update when the window becomes key. Fixes missing rendering on macOS 10.14 ("Mojave"). Fixes Bugzilla #4272.
Ryan C. Gordon 22475bf3 2018-09-26T20:10:32 cocoa: Force an OpenGL context update when the window becomes key. Fixes missing rendering on macOS 10.14 ("Mojave"). Fixes Bugzilla #4272. (transplanted from aee4797c84ef90464e270b1f6095a6dd7ce280c1)
Sam Lantinga 55b24b93 2018-09-26T11:17:43 Fixed bug 4265 - SDL window falls to the bottom of the screen when dragged down and stuck there Alexei On WM_WINDOWPOSCHANGED event, WIN_UpdateClipCursor() is called. SDL_WINDOW_INPUT_FOCUS is set even when the mouse pointer is not inside the SDL window and therefore ClipCursor(&rect) is called. When dragging the window and rect.bottom=800 (i.e. the bottom edge of the screen) the SDL window is clipped to the bottom of the screen and it is not possible to move it back to the center of the screen.
Sam Lantinga ef347048 2018-09-24T16:41:55 Fixed bug 4264 - SDL_CreateTextureFromSurface generates error message but returns ok Anthony @ POW Games SDL_CreateTextureFromSurface makes an internal call to SDL_GetColorKey which can return an error and spams the error log with "Surface doesn't have a colorkey" even though the original function didn't return an error.
Sam Lantinga 5febdfce 2018-09-24T11:49:25 Fixed whitespace
Sam Lantinga 6b3e8931 2018-09-14T19:26:26 Added hints SDL_HINT_MOUSE_DOUBLE_CLICK_TIME and SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS to allow tuning double-click sensitivity. Also increased the default double-click radius to 32 pixels to be more forgiving for touch interfaces
Sam Lantinga 0b3a350c 2018-09-10T23:01:33 Fixed Chinese IME support (thanks ???!)
Sam Lantinga af823cc1 2018-09-10T23:00:09 Fixed building on tvOS
Sam Lantinga 404ba5ee 2018-08-28T13:37:11 Fixed bug 4229 - Add support for ABGR format in DirectFB renderer Alexandre DirectFB supports 32-bit ABGR pixel format via DSPF_ABGR, but SDL doesn't map SDL_PIXELFORMAT_ABGR8888 to DSPF_ABGR. A patch is attached and should add support for ABGR pixel format devices.
Sam Lantinga a1ca8441 2018-08-26T20:37:23 Update the cursor clipping each frame, in case it was stolen by another application.
Sam Lantinga 15b3794f 2018-08-26T10:34:23 Only reset the clip rect if it's currently the rect we previously clipped. This prevents us from clearing the clip rect globally when another application has set it. There's also an experimental change to regularly update the clip rect for a window defensively, in case someone else has reset it. It works well, but I don't know if it's cheap enough to call as frequently as it would be called now, and might have other undesirable side effects. Also fixed whitespace and SDL coding style
Jeremy Ong a794126d 2018-08-24T09:49:48 vulkan: SDL_Vulkan_GetInstanceExtensions should accept a NULL window. Fixes Bugzilla #4235.
Thomas Perl 84e78320 2018-08-23T14:47:38 Fix "unresponsible application" issues in Wayland Polling without wl_display_flush() never responds to ping requests. In that case ping-pong works only on other events, such as user input or on frame swapped. From https://git.merproject.org/mer-core/libsdl/merge_requests/3 Original author: Alexander Akulich <a.akulich@omprussia.ru>
Sam Lantinga 088070e5 2018-08-22T23:47:29 Moved display orientation handling on iOS out to a separate function for Qt apps
Sam Lantinga f225af0c 2018-08-22T21:48:28 Added SDL_GetDisplayOrientation() to get the display orientation, and added a new event SDL_DISPLAYEVENT to notify the application when the orientation changes. Documented the values returned by the accelerometer and gyroscope sensors
Sam Lantinga 6f758ad2 2018-08-21T20:03:54 Moved SDL_IsTablet() to a cross-platform API function
Sam Lantinga 109544ca 2018-08-21T11:23:47 Add SDL_IsTablet() to Android and iOS SDL.