Commit Graph

18409 Commits

Author SHA1 Message Date
Frank Praznik f2f04e825d
tests: Fix get/set window size test being skipped
A return check conversion was missed when the SDL_* functions were converted to return boolean values instead of int, which caused this test to be skipped.
2025-01-08 11:02:45 -05:00
SDL Wiki Bot cbdbd66e18 Sync SDL3 wiki -> header
[ci skip]
2025-01-08 15:33:53 +00:00
Simon McVittie ef1fdf11bd tray: Create tray icons for libappindicator securely
If we write directly to filenames in /tmp, we're subject to
time-of-check/time-of-use symlink attacks on most systems (although
recent Linux kernels mitigate these by default). We can avoid these
attacks by securely creating a directory owned by our own uid,
and doing all our file I/O in that directory. Other uids cannot create
symbolic links in that directory, so we are protected from symlink
attacks.

This does not protect us from an attacker that is running with the same
uid, but if such an attacker exists, then we have already lost.

Resolves: https://github.com/libsdl-org/SDL/issues/11887
Signed-off-by: Simon McVittie <smcv@collabora.com>
2025-01-08 07:26:02 -08:00
Sam Lantinga e6bb50a710 Updated to version 3.1.9 for development 2025-01-07 17:51:00 -08:00
SDL Wiki Bot 6b34c9fe7f Sync SDL3 wiki -> header
[ci skip]
2025-01-08 01:50:36 +00:00
Sam Lantinga 22422f7748 Fixed ABI compatibility with 3.1.6 2025-01-07 17:32:59 -08:00
Sam Lantinga d7b10d05b1 Updated to version 3.1.8 for the preview release 2025-01-07 17:04:05 -08:00
Simon McVittie 4290fc8bda tray: Load GTK and libappindicator by versioned names, except on OpenBSD
We are expecting a specific ABI (we can see that from the declarations
listed in this file) and the whole point of SONAME versioning is to
say that the library conforms to a specific ABI. If the SONAME is not
the one we expect, then calling its functions is likely to crash.

As usual, an exception to this is that OpenBSD does not use SONAME
versioning.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2025-01-07 14:02:01 -08:00
Simon McVittie 6b38d250aa tray: Don't try to use GTK 2 versions of libappindicator
We use GTK 3 functions in this file, so we cannot load a libappindicator
whose SONAME indicates that it is using GTK 2.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2025-01-07 14:02:01 -08:00
Simon McVittie bba066c44c tray: Don't call g_object_unref(NULL)
g_object_unref() only accepts valid object instances.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2025-01-07 14:01:08 -08:00
ritalat 0bc370dfba Android doc cleanup 2025-01-07 16:56:29 -05:00
Ryan C. Gordon 6934c910b3
opengl: use GL_UNSIGNED_BYTE instead of GL_UNSIGNED_INT_8_8_8_8_REV.
This seems to be significantly more efficient on some modern platforms, but if
this turns out to be a widespread disaster, we can revert it.
2025-01-07 16:08:56 -05:00
Sam Lantinga 0176a19aee Fixed platform define condition for Windows phone
Fixes https://github.com/libsdl-org/SDL/issues/11876
2025-01-07 08:47:54 -08:00
Ryan C. Gordon 0180ca541e
windows: Catch WM_POINTERCAPTURECHANGED events.
Fixes #11844.
2025-01-07 10:22:15 -05:00
Ozkan Sezer 8ec576ddab tray, windows: fix logic error from commit 1167cf54e1 2025-01-07 10:15:40 +03:00
Sam Lantinga 748f0b3201 Improved Steam Controller detection on iOS 2025-01-06 17:16:23 -08:00
Frank Praznik ba1a980535
wayland: Only apply the toplevel bounds when initially mapping the window
The size shouldn't be clamped to the bounds after the window is mapped, or an explicitly requested user size may be overwritten.
2025-01-06 17:07:16 -05:00
Frank Praznik 28389f1c38 wayland: Apply toplevel bounds to windows
Apply the supplied xdg-toplevel bounds to resizable windows during initial mapping. Libdecor functionality will have to be added separately, as the functionality needs to be added to the library first.
2025-01-06 16:06:03 -05:00
Sam Lantinga ef52a4d4df Fixed warning C4389: '==': signed/unsigned mismatch 2025-01-06 12:03:45 -08:00
Sam Lantinga 8d8649b33f Fixed error: returning 'SDL_TrayEntry **' from a function with incompatible return type 'const SDL_TrayEntry **' 2025-01-06 11:35:54 -08:00
Sam Lantinga f8b13dadd7 Enabled warning level 4 on Visual Studio
This catches uninitialized variables, etc. and matches Steam's warning level
2025-01-06 11:30:36 -08:00
Sam Lantinga 1167cf54e1 Fixed warning C4706: assignment within conditional expression 2025-01-06 11:30:28 -08:00
Sam Lantinga 8a9b7ae8d1 Switched nEntries to int, to avoid signed/unsigned comparison warnings
Also standardized memory allocation calls to match SDL style
2025-01-06 11:29:28 -08:00
Sam Lantinga fb4ec07119 Fixed warning C4701: potentially uninitialized local variable 'previous_context' used 2025-01-06 11:18:45 -08:00
Ryan C. Gordon b674b715f5
fix integer overflow ub in testautomation_sdltest
(cherry-picked from commit f804293a27)
2025-01-06 13:18:03 -05:00
Ryan C. Gordon 1e1442ed4a
README-migration.md: Note the GL/EGL library environment variable removals. 2025-01-06 13:12:31 -05:00
Ryan C. Gordon d8c7006a42
README-migration.md: Removed obsolete documentation.
Fixes #11434.
2025-01-06 13:07:21 -05:00
Ryan C. Gordon 6473de59b7
SDL_keyboard.h: Note that SDL_GetKeyName() returns uppercase letters.
Reference Issue #11434.
2025-01-06 12:47:44 -05:00
SDL Wiki Bot c7584df999 Sync SDL3 wiki -> header
[ci skip]
2025-01-06 16:17:26 +00:00
Ryan C. Gordon 1f54b228ff
video: Convert some EGL environment variables to SDL hints.
Fixes #10479.
2025-01-06 11:15:26 -05:00
Sam Lantinga 7c9f6c6313 Remove debug logging 2025-01-05 20:06:50 -08:00
SDL Wiki Bot 19ddb29d2d Sync SDL3 wiki -> header
[ci skip]
2025-01-06 02:54:14 +00:00
Ryan C. Gordon d16f76e3d4 wasapi: Don't crash/hang if transitioning to/from a Remote Desktop Connection.
Fixes #9673.
2025-01-05 21:53:35 -05:00
Ryan C. Gordon 742f2a2fad SDL_render.h: Improve SDL_ConvertEventToRenderCoordinates documentation.
Fixes #9424.
2025-01-05 20:55:42 -05:00
Frank Praznik 2b375d9704 wayland: Don't enable the text-input protocol when using Fcitx
Otherwise, key repeat will be broken. Enabling it under Wayland isn't recommended anyway.
2025-01-05 17:53:58 -05:00
Semphris dcc645e413 Fix HTML examples template tabs
Tab labels now follow their drawer again. Also, to avoid tabs covering
up code or debugging logs, the tab label that's on top (and therefore
not automatically hidden behind the other drawer when that drawer
opens) will now automatically hide itself when the other drawer is
opened.
2025-01-05 11:39:20 -08:00
SDL Wiki Bot ece6a6ed8f Sync SDL3 wiki -> header
[ci skip]
2025-01-05 19:12:20 +00:00
Ryan C. Gordon 7f9ee31024
include: Fill in more category documentation.
Reference Issue #11874.
2025-01-05 14:11:11 -05:00
Anonymous Maarten 16ad3e5af6 cmake: consider X11 as not available when xext.h is not found
This is user friendlier than straight up erroring
2025-01-05 16:05:25 +01:00
David Gow 0ae57f1d90 tray: unix: Shutdown the GTK thread when not in use
When using the libappindicator/gtk/unix Tray backend, the background
thread which calls gtk_main() is never destroyed. This means that we
detect a leaked thread as SDL_Quit().

Instead, tell gtk to shut down its main loop when no tray icons are
active. This fixes the issue here: SDL notices no leak, and repeatedly
creating / destroying tray icons seems to work fine.

Signed-off-by: David Gow <david@ingeniumdigital.com>
2025-01-05 02:51:12 -08:00
Ryan C. Gordon 6a0405b933
testautomation: Added a test to stdlib_swprintf that previously would fail. 2025-01-05 02:45:15 -05:00
Kim Giseo 9f2186ad52 Removed outdated comment in AndroidManifest.xml 2025-01-04 19:25:00 -08:00
Ryan C. Gordon 181995b44f
stdlib: Reworked SDL_vswprintf to be more efficient and return correct values.
Fixes #11729.
2025-01-04 21:55:07 -05:00
Erik Soma 8509041a09 video: Fix SDL_GL_GetAttribute depth/stencil size when 0 2025-01-04 18:57:48 -05:00
Ryan C. Gordon 344e394bf4
camera: Favor v4l2 over pipewire, for now.
Reference Issue #11473.
Reference Issue #9776.
Reference Issue #11819.
Reference Issue #9989.
Reference Issue #10842.
2025-01-04 16:11:57 -05:00
SDL Wiki Bot d8c679416b Sync SDL3 wiki -> header
[ci skip]
2025-01-04 19:04:41 +00:00
Semphris b6dc44b133 Support dark theme for tray menus on Windows 2025-01-04 11:04:21 -08:00
Semphris 7673b84f52 Make SDL_GetTrayEntires() NULL-terminated 2025-01-04 10:56:19 -08:00
Katelyn Gadd a58bc3eaf4
[GPU] Fix crash in nvidia user-mode win32 driver when game window is minimized during swapchain resize (#11848) 2025-01-04 10:25:08 -08:00
Susko3 0a5d2f3da2 Handle pen eraser button as a second button 2025-01-04 05:27:06 -05:00