Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 268c2fa8 | 2022-04-05 18:42:17 | Don't resize fullscreen windows when hiding or minimizing them (thanks @madewokherd!) This has the benefit of window previews (mousing over the icon) having the correct size and contents. Fixes https://github.com/libsdl-org/SDL/issues/5320 | ||
| def27267 | 2022-02-05 12:32:06 | Ignore focus change messages that contradict GetForegroundWindow. On Wine, when a window is programmatically minimized in response to losing focus, we receive a WM_ACTIVATE for the deactivation, but GetForegroundWindow still indicates that our window is focused. This causes an incorrect SDL_WINDOWEVENT_FOCUS_GAINED. This is probably a Wine bug, but it may take a while to fix and then for the fix to make its way to users. | ||
| a5672b85 | 2022-04-05 11:10:41 | x11: Wait a bit to see if window pos changes when changing fullscreen. Helps prevent window from moving to 0,0 when leaving fullscreen. Fixes #4749. | ||
| 45372b1c | 2022-04-04 21:36:25 | x11: Don't unload libGL.so to prevent a crash in XCloseDisplay() libGL.so may register callbacks that can be invoked upon XCloseDisplay(). If XCloseDisplay() is called after libGL.so is unloaded, the callback pointer will point at freed memory and invoking it will crash. The texture framebuffer check optimized out in f37e4a9 was causing libGL.so to never be unloaded as a side-effect. Skipping it exposed this bug by allowing libGL.so to actually unload. | ||
| 7b3449b8 | 2022-04-04 20:46:56 | Minor cleanup | ||
| ad6bc521 | 2022-04-01 07:59:16 | Move SDL_List functions to SDL_list.c to avoid more merge with eventual PR | ||
| 0d7edcb7 | 2022-03-31 16:15:51 | Fixed loading 32-bit BMP files | ||
| ea7d5307 | 2022-03-31 14:11:52 | emscripten: Proxy SDL_GetUsableDisplayBounds to the main thread. | ||
| fe79eb2f | 2022-02-26 20:46:52 | emscriptenframebuffer: fix formatting | ||
| 268cc2a4 | 2022-02-26 20:42:54 | emscriptenmouse: remove useless return statement | ||
| 3136a530 | 2022-02-25 14:26:23 | fix formatting and cast warnings Co-authored-by: Charlie Birks <charlie@daftgames.net> | ||
| 40415859 | 2022-02-25 00:12:33 | emscriptenmouse: remove old extra `_INT` | ||
| 4dca8f7f | 2022-02-24 21:09:03 | SDL2 thread proxying fixes This PR uses new APIs added in [emscripten-core/emscripten#9336](https://github.com/emscripten-core/emscripten/pull/9336) to improve compatibility with USE_PTHREADS=1. Original PR: https://github.com/emscripten-ports/SDL2/pull/127 By: @jakogut Reviewed by: Daft-Freak | ||
| 1c7bf478 | 2022-03-31 10:09:02 | x11: Ignore BadValue for extremely small XRRSetScreenSize resolutions. Reference Issue #4840. | ||
| 95c0fec5 | 2022-03-31 12:35:17 | Vita: PVROGL: fix indentation and ifdef guards | ||
| 8c542a35 | 2022-03-29 19:08:56 | Desktop OpenGL 1.X/2.X PSVita Support | ||
| b5700ab3 | 2022-03-29 19:32:21 | Cleanup Spaces | ||
| 7e15ad2f | 2022-03-30 14:15:52 | x11: Catch X11 errors in X11_SetWindowPosition and X11_SetWindowSize. The functions can go south if other operations are in progress, like X11_SetWindowBordered, which might be doing something traumatic behind the scenes of the window manager. We can't make these tasks totally synchronous, which would fix the problem, because not only can the window manager block however long it wants, it might also decide to deny our requests without any notification, so we'd be waiting forever for a window change that isn't coming. :( Fixes #5274. | ||
| 4d1905c9 | 2022-03-29 13:34:14 | video: wayland: Use viewports for non-fullscreen windows with fractional scaling Use viewports for non-fullscreen windows when the desktop uses fractional scaling and the window is flagged as DPI-aware to provide a backbuffer mapped as close to 1:1 output as possible. In the cases of odd window sizes the backbuffer may be a pixel off of scaling perfectly into the window size due to its scaled size being rounded off, but a minute amount of scaling during output is likely preferable to the large amounts of overdraw needed with integer scaled buffers. | ||
| fa4c5198 | 2022-03-28 21:32:30 | video: wayland: Expose more resolutions for mode emulation Expose as many emulated display modes as possible. They will currently display stretched to the display's native desktop aspect, but if an application requires a hardcoded resolution, it will work at minimum. Aside from the change in the emulated display mode list, the Wayland event handling code had to be updated to support separate scaling for the x and y axes, as square pixels are no longer guaranteed. | ||
| d875416a | 2022-03-28 15:32:30 | wayland: Minor fix for old compilers | ||
| 4d76c9cb | 2022-03-25 20:35:07 | video: wayland: Use wp-viewporter for fullscreen with non-native resolutions Wayland doesn't support mode switching, however Wayland compositors can support the wp_viewporter protocol, which allows for the mapping of arbitrarily sized buffer regions to output surfaces. Use this functionality, when available, for fullscreen output when using non-native display modes and/or when dealing with scaled desktops, which can incur significant overdraw without this extension. This also allows for the exposure of arbitrarily sized, emulated display modes, which can be useful for legacy compatability. | ||
| 713a6754 | 2022-03-26 22:26:15 | wayland: Relax the check for mismatching output scales | ||
| 5655be15 | 2022-03-26 19:57:39 | wayland: Avoid overwriting xdg_output position with wl_output position | ||
| 40417b18 | 2022-03-26 19:55:04 | wayland: Work around a GNOME xdg_output scaling issue | ||
| 7a1c45bd | 2022-03-25 12:51:38 | wayland: Optimize keyboard_handle_modifiers. 1. Mod index values are (mostly) constant, so can be done with xkb_state_new 2. Mods can change without the group changing, avoid remap events if possible Lastly, as a bonus, I added braces to the locale check, because I was nearby. | ||
| bf38fd46 | 2022-03-25 11:52:50 | YUV: fix invalid read on last line when converting from SDL_PIXELFORMAT_YUY2 (see bug #4841) | ||
| 2891f082 | 2022-03-25 02:49:49 | wayland: Use xkb_keymap_mod to set mod state | ||
| 6d9ca926 | 2022-03-25 01:36:39 | wayland: Enforce text capitalization manually, for remapped keymods | ||
| a75c6150 | 2022-03-25 01:33:40 | wayland: Add an xkb_keysym_t->SDL_Keycode mapping for backspace | ||
| ab74b6a3 | 2022-03-24 15:34:29 | wayland: Remove some now-redundant casts | ||
| ee52ad08 | 2022-03-24 15:32:25 | wayland: Minor fixes for old compilers | ||
| b4d28085 | 2022-03-24 18:30:32 | wayland: Don't overwrite error message from SDL_EGL_CreateSurface SDL_EGL_CreateSurface sets a more specific error message, so overwriting it would lose information. Signed-off-by: Simon McVittie <smcv@collabora.com> | ||
| d5bbbd3f | 2022-03-24 18:23:35 | Avoid depending on libwayland 1.20 unnecessarily When using shared linking (linking in the normal way with -lwayland-client) rather than loading Wayland libraries dynamically at runtime, listing symbols that don't exist in the current version results in a build failure. We don't actually call wl_proxy_marshal_flags() or wl_proxy_marshal_array_flags() directly; the reason we need them is that they're called by the code generated by wayland-scanner >= 1.20. If we're building against an older Wayland library, then we'll have its corresponding version of wayland-scanner (mismatched versions are not supported), so we won't need those two symbols, and can avoid generating a dependency on them. Conversely, if we're building against a newer Wayland library, the generated code will call them unconditionally, so we cannot treat them as optional and gracefully fall back: that would result in a crash. Instead, treat them as a mandatory part of the Wayland library, so that if they are not found at runtime, we can fall back to X11 without crashing. libwayland 1.18 is in several LTS distributions (Ubuntu 20.04, Debian 11, RHEL 8) so avoiding a hard dependency on 1.20 is quite useful. Signed-off-by: Simon McVittie <smcv@collabora.com> Resolves: https://github.com/libsdl-org/SDL/issues/5376 | ||
| d597a9b4 | 2022-03-24 14:25:00 | x11: Minor cleanups and corrections in X11_ShowMessageBox. Reference issue #3254. | ||
| 6c56193a | 2022-03-24 18:09:45 | Fixed bug #1650: X11 doesn't set KMOD_NUM and KMOD_CAPS to system state | ||
| 4fe7b2cb | 2022-03-24 11:00:43 | static analysis: Fixed several complaints from codechecker. There are still some pending Objective-C specific issues. Reference issue #4600. | ||
| 0dae35bf | 2022-03-19 15:58:47 | video: wayland: Use xdg-output for retrieving the desktop dimensions Using wl-output to get the desktop display dimensions and dividing by the integer scale factor will not return the correct result when using a desktop with fractional scaling (e.g. a 3840x2160 display at 150% will incorrectly report the scaled desktop area as 1920x1080 instead of 2560x1440). Use the xdg-output protocol, if available, to retrieve the correct desktop dimensions and offset. Versions 1 through 3 of the protocol are supported. | ||
| 9125b244 | 2022-03-23 13:46:25 | wayland: Basic support for zwp_tablet_*v2 protocol | ||
| 13337e17 | 2022-03-23 13:27:01 | wayland: The rest of the wayland-client 1.18 requirement... Git, please | ||
| f5a98044 | 2022-03-23 10:13:56 | Android: add SetWindowResizable() implementation - which also enable/disable the orientation lock status. This is only provided when the window is not SDL_WINDOW_FULLSCREEN (see SDL_video.c). Final orientation also depends on SDL_HINT_ORIENTATIONS. | ||
| 4b8d69a4 | 2022-03-22 17:09:44 | Avoid trying to use texture framebuffers on emscripten | ||
| 34fd83ca | 2022-03-22 06:50:10 | Don't try to hide foreign windows when destroying the SDL window representation Fixes https://github.com/libsdl-org/SDL/issues/5432 | ||
| 74680f5c | 2022-03-21 18:56:56 | regenerated SDL_blit_auto.c. | ||
| dd6c46cb | 2022-03-21 18:56:56 | blit-auto optimizations | ||
| 8f964576 | 2022-03-19 11:01:55 | Fixed parameter operation ordering for ease of reading | ||
| 0517b61e | 2022-03-19 11:00:00 | Relative mouse mode is tied to the window with keyboard focus This isn't obvious, but makes sense when thinking about how games actually use it. This is also in line with how Windows mouse relative mode is implemented. Fixes https://github.com/libsdl-org/SDL/issues/5340 | ||
| d81fee76 | 2022-03-19 10:27:31 | SDL_Rect: Added floating point versions of all the rectangle APIs. Fixes #5110. | ||
| 4d9bef60 | 2022-03-19 09:44:09 | SDL_Rect: minor code cleanups. | ||
| c573ebe1 | 2022-03-19 09:29:01 | SDL_UnionRect: If both rects are empty, zero out the result struct. | ||
| 6c962177 | 2022-03-18 10:07:59 | Added the hint SDL_HINT_MOUSE_RELATIVE_MODE_CENTER, controlling whether the mouse should be constrained to the center of the window or the whole window in relative mode. For further info about the pros and cons, check out the discussion in https://github.com/libsdl-org/SDL/issues/5271 | ||
| 3167ba34 | 2022-03-17 17:58:35 | Fixed freeing the Windows blank cursor | ||
| 0387bf82 | 2022-03-17 17:55:28 | Fixed memory leak in WIN_CreateBlankCursor() | ||
| d4062785 | 2022-03-17 17:01:36 | Try not forcing activation when grabbing the mouse in fullscreen windows | ||
| 4e784fce | 2022-03-17 16:57:33 | When updating grab state, only activate windows that are grabbed, fullscreen, and shown. Fixes https://github.com/libsdl-org/SDL/issues/5371 | ||
| e5f45455 | 2022-03-17 14:44:34 | Added a hint to mark a foreign window as usable with OpenGL Fixes https://github.com/libsdl-org/SDL/issues/2942 | ||
| 4e49b78a | 2022-03-17 14:44:17 | Fixed compile warning and comment typo | ||
| 0bf8ccfb | 2022-02-08 22:15:11 | video: Add a hint to allow Vulkan surfaces on foreign windows | ||
| 829e15a4 | 2022-02-05 14:38:39 | Ignore unknown WM_SIZE types. According to MSDN, we can also get SIZE_MAXHIDE and SIZE_MAXSHOW, based on state changes to other windows. It's not clear under what circumstances this will happen (I saw some docs indicating it may require multiple application windows), but it doesn't seem right to treat them as RESTORED. | ||
| a164c9d2 | 2022-01-04 10:43:34 | SDL_cocoawindow.m: update fullscreen toggle when SDL_SetWindowResizable called | ||
| 93e7caab | 2022-03-16 18:08:20 | SDL_blit_slow: remove one nested 'if()' because of ARGB2101010 handling | ||
| 56568ffb | 2022-03-16 18:04:40 | Remove 'reserved identifier' warning | ||
| d1e4367f | 2022-03-15 21:41:02 | SDL_windowskeyboard.c: fix build with SDL_DISABLE_WINDOWS_IME defined. Fixes https://github.com/libsdl-org/SDL/issues/5408 | ||
| f3e86b9f | 2022-03-15 17:46:12 | Fixed bug #2199: make SDL_blit_slow handles SDL_PIXELFORMAT_ARGB2101010, storing as RGBA | ||
| 363c3678 | 2022-03-10 17:12:33 | Fixed: Incorrect assumption that mouse button is released when window is allocated | ||
| 7495b981 | 2022-03-11 15:14:51 | Make SDL_VIDEO_OPENGL_EGL optional on Android | ||
| ee6bfcdd | 2022-03-13 20:56:42 | SDL_blit_N.c: removed duplicated const (fixes bug #5401) | ||
| 072db7b0 | 2022-03-12 01:56:40 | SDL_windowskeyboard.c (IME_IsTextInputShown): remove unused local vars. | ||
| d14a1263 | 2022-03-11 17:45:17 | IME Composition Truncation + SDL_IsTextInputShown + SDL_ClearComposition (#5398) * Fixes for IME Composition Truncation + Addition of SDL_ClearComposition, SDL_IsTextInputShown * Fixed: Documentation and code style issues raised during code review. | ||
| 9de97e19 | 2020-12-01 12:46:59 | emscripten: Don't prevent default on filtered key events | ||
| afb0606f | 2022-03-10 18:50:10 | minor os/2 clean-ups. | ||
| 01d38e7a | 2022-03-09 14:03:52 | Make Win32 fullscreen and borderless windows minimizable | ||
| 45833a14 | 2022-03-09 15:33:45 | Prevent shadowing static variable '_this' with local paramter '_this' of SDL_CreateWindowTexture | ||
| a4a80c86 | 2022-03-09 15:21:55 | Fix variable may be uninitialized when used here [-Wconditional-uninitialized] | ||
| 41e7d1ba | 2022-03-06 23:02:57 | Add SDL_GetDisplayDPI implementation on Emscripten Signed-off-by: Mahyar Koshkouei <mk@deltabeard.com> | ||
| 2f7b885d | 2022-02-28 16:30:34 | Fix 'potentially uninitialized local pointer variable' error in UWP builds | ||
| 98353533 | 2022-02-23 18:54:31 | riscos: Report keyboard repeat events | ||
| b946e31e | 2022-02-23 09:10:46 | video: Allow unaccelerated SDL_HINT_FRAMEBUFFER_ACCELERATION renderers. If the app requested a specific renderer, even if it's not the optimal path, let them have it, because they might want to render with a specific GPU API on top of the framebuffer pixels. This fixes DosBox-X crashing on startup, which forces the hint to "opengl". | ||
| 60ddb74c | 2022-02-02 12:19:37 | video: rework how we prepare a texture framebuffer. Now we see if we can create an SDL_Renderer, and if that renderer reports itself as "accelerated," and added some initial heuristics to the OpenGL renderer to make better decisions about what qualifies as "accelerated." This adds some FIXMEs that might be merely hypothetical, and removes the old OpenGL checks from the video subsystem that probably weren't meaningful in modern times. This will definitely need to improve the existing list in the GL renderer, to catch things like llvmpipe, etc. Reference issue #4624. | ||
| 85e65000 | 2022-02-11 11:08:08 | X11 Segmentation fault with multiple windows and renderers (see #5256) | ||
| a75041e8 | 2022-02-10 13:44:59 | Fixed bug #2140: basic support to convert 16 colors palette PIXELFORMAT_INDEX4, to allow conversion to SDL_Texture | ||
| 423feac6 | 2022-02-05 21:23:40 | haiku: Actually remove BDirectWindow and fix OpenGL handling. This provides the other half of 05c72b113c830392f8b08532317ef07972b29a2e. | ||
| c8cee0b8 | 2022-02-04 23:28:56 | OS2_HasClipboardText: store the boolean result before closing clipboard. just in case.. | ||
| 3b9e6c1c | 2022-02-04 19:50:20 | SDL_os2video.c: fixed HasClipboardText() semantics. Empty string in clipboard is expected to give FALSE by SDL_HasClipboardText. Noticed in a commit by josch1710 in bitwiseworks' os/2 fork. | ||
| 3bef4a5d | 2022-01-22 15:43:09 | cleanup error-handling in SDL_egl.c - always set error message in SDL_EGL_ChooseConfig / SDL_EGL_CreateContext - assume SDL_EGL_DeleteContext does not alter the error message - sync generic error message of SDL_EGL_MakeCurrent with SDL_EGL_Get/SetSwapInterval - do not overwrite error message of SDL_EGL_ChooseConfig in WINRT_CreateWindow | ||
| b5c50526 | 2022-01-22 15:34:22 | cleanup error-handling in SDL_bmp.c - add missing error-message in SDL_LoadBMP_RW - check return value of SDL_RWtell in SDL_LoadBMP_RW - use standard SDL_EFREAD error instead of custom strings + adjust return type of readRlePixels | ||
| 19df4af2 | 2022-01-22 10:33:38 | simplify SDL_DUMMY/OFFSCREEN_CreateWindowFramebuffer | ||
| ecd922b5 | 2022-02-01 22:33:13 | Fix touch holding detection after #5244 changes | ||
| b11dfd76 | 2022-02-01 14:43:26 | Only generate key repetition for keys that should repeat on wayland. This fix repetition on modifier keys, e.g. Control. | ||
| a90a2e75 | 2022-01-30 16:44:44 | Fix text_input_v3 preedit string For every batch of text_input_v3 updates, if there is no preedit in this batch, preedit should be cleared. | ||
| 97269e14 | 2022-01-18 17:51:17 | adjustments to ime_candidates - allocate ime_candidates on demand - allow write to the whole allocated memory of ime_candidates - ensure ime_candcount is set to zero in case the candidates can not be queried for any reason | ||
| 6f404d0f | 2022-01-18 17:49:33 | cleanup IME_GetCandidateList / UILess_GetCandidateList - move IME_ShowCandidateList, ImmGetContext and ImmReleaseContext to this function - set ime_candpgsize to MAX_CANDLIST if dwPageSize is zero - comment out deselection of ime_candsel in case of korean language for the moment (LANG_CHT does not work anyway) | ||
| 32c7d5d3 | 2022-01-18 17:44:51 | cleanup IME_UpdateInputLocale - do not store the HKL in a static variable - always set the ime_candvertical value in case the HKL is changed | ||
| 25aa7244 | 2022-01-18 17:43:31 | cleanup IME_GetId - use assert instead of a check (it is a static function with constant parameter) - assume it is called with 0 first (simplifies the logic) - reuse dwLang value instead of a new 'call' to LANG() | ||
| 60deadba | 2022-01-17 17:22:30 | re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory | ||
| ebdd5366 | 2022-01-17 16:26:02 | use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError | ||
| 3c85cef4 | 2022-01-17 09:58:16 | cleanup SDL_RegisterApp - fix memory leak when RegisterClassEx fails - set style according to the documentation - eliminate duplicated SDL_Instance setter | ||
| 014e2bbd | 2022-01-12 16:40:52 | use SDL_COMPILE_TIME_ASSERT instead of SDL_STATIC_ASSERT | ||
| 95f30c7a | 2022-01-12 10:12:54 | fix compiler warnings in video/uikit | ||
| eb80f2c6 | 2022-01-11 10:45:41 | sync handling of subsystems II. |