Ryan C. Gordon
2afb49ba9a
cocoa: Warp mouse to center of window before enabling relative mouse.
...
This prevents the case where the mouse might be at the edge of the
window when enabling relative mode, which confuses macOS, at it
might believe the user is attempting to resize the window.
Fixes #6994 .
2023-06-11 12:47:26 -04:00
Sam Lantinga
2aa8525ecb
Fixed build
2023-06-10 09:29:09 -07:00
Sam Lantinga
36033e3832
Make it clear that you can't mix 2D rendering and the window surface API
...
Also added functions to query and destroy the window surface so you can switch between modes if you want.
See https://github.com/pygame-community/pygame-ce/issues/2190 for more details.
2023-06-10 08:54:36 -07:00
Ozkan Sezer
f5b3247aae
further mouse relative motion fix for os/2 (thanks Andrey Vasilkin)
2023-06-08 03:40:32 +03:00
Ryan C. Gordon
aa536217b3
x11: check if window size/position has changed during SDL_ShowWindow.
...
Fixes #4216 .
(cherry picked from commit 49b5cfa6c5cb9bb8cecce508e12fa7f8e0cc302f)
2023-06-07 15:46:59 -04:00
Ozkan Sezer
b1324fbc9f
fixed os/2 mouse relative motion not working (thanks Andrey Vasilkin,)
...
for issue reported at https://github.com/bitwiseworks/SDL2-os2/issues/5
2023-06-05 11:50:50 +03:00
Sam Lantinga
4700fbcbdf
Don't bother re-encoding Latin1 characters in the ASCII range
...
(cherry picked from commit 6150b5b3cbde0e592c4ffe822f66aa5f9c90c3d9)
2023-06-04 05:40:07 -07:00
Sam Lantinga
bfef7c302c
Only convert the result of XLookupString() if it's not already UTF-8
...
Fixes https://github.com/libsdl-org/SDL/issues/7766
(cherry picked from commit 491ae20d963cff397b5980b31d142d576e74becb)
2023-06-04 02:54:21 -07:00
Alibek Omarov
68e3e99087
wayland: reset orientation bitmask before reading values from hint on QtWayland
...
Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
2023-06-02 07:41:08 -07:00
Ryan C. Gordon
379a6f4dab
x11: Attempt to wait for SDL_MaximizeWindow to complete before returning.
...
Fixes #7070 .
2023-05-30 17:04:31 -04:00
Ryan C. Gordon
d275851dfb
windows: Don't allow non-resizable windows to be maximized.
...
Fixes #6346 .
2023-05-29 14:47:53 -04:00
Anonymous Maarten
c68976360d
Fix -Wunused-function warning when configuring with -DSDL_X11_XINPUT2=OFF
2023-05-26 15:28:58 -04:00
Ryan C. Gordon
a535cc62a0
video: Only specify some GL context attributes if not the explicit default.
...
Just in case it upsets some OpenGL drivers unnecessarily.
Fixes #7730 .
(cherry picked from commit d4bc393efebdd45a95430397df106b69b1c26df3)
2023-05-25 10:10:03 -04:00
Sam Lantinga
3f1fd5abff
Updated source to match SDL function prototype style
2023-05-23 10:59:03 -07:00
Frank Praznik
891c89eeb8
Fix unused variable warnings
2023-05-23 11:15:48 -04:00
Frank Praznik
e2b8d96529
wayland: Validate surfaces and window data before sending touch events
...
Ensure that incoming touch events originate from valid surfaces owned by SDL and have proper window data before forwarding them to the touch subsystem, or the window focus pointer that is sent with the event may not be a pointer to an SDL window.
2023-05-23 10:31:28 -04:00
Sam Lantinga
a2f4783e75
Don't map the top keyboard row to numbers when using the one-handed DVORAK layouts (thanks @tormol!)
...
Fixes https://github.com/libsdl-org/SDL/pull/5127
2023-05-22 11:30:42 -07:00
Caleb Cornett
2001a891c4
Fix Xbox link error from IsRectEmpty
...
(cherry picked from commit 376a3cd100a3d59e887496c75a1ac49ab4a2d8ec)
2023-05-21 19:11:25 -07:00
M. P. Halpin
1ee9a437f9
Stop beep when running iOS apps on ARM-based Macs
...
(cherry picked from commit bbf38bbbc334bc0ee90d3eec228a968d8fc1689e)
2023-05-20 11:21:13 -07:00
Sam Lantinga
69644346ac
Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control whether the on-screen keyboard should be shown when text input is active
...
Fixes https://github.com/libsdl-org/SDL/issues/7160
2023-05-20 11:09:36 -07:00
valid-ptr
424bc4bcf7
SDL emscripten port: preventDefault should not be called on mousedown. Otherwise mouseup will not be fired outside iframe in Chrome-based browsers
2023-05-17 12:30:32 -07:00
Ryan C. Gordon
0eea92c8fc
blit: Add a case for 8-bit blits that sdl12-compat exposed.
...
sdl12-compat can get into a state where a color-keyed surface is
marked for blending, but wants to blend with full alpha (which
is the same as _not_ blending), so rather than fail to find a
blitter in that case, it just selects the colorkey blitter.
Reference https://github.com/libsdl-org/sdl12-compat/issues/233
2023-05-16 14:38:44 -04:00
Sam Lantinga
de93728674
Removed redundant __powerpc__ check
...
(cherry picked from commit b6df25c33497388f16a4ed2af896ef14277c8865)
2023-05-06 08:44:48 -07:00
Jeremy Rand
5e74365e55
SDL_blit_N.c: Move ppc64le swizzle outside of loop
...
An in-place swizzle mutation was erroneously inside of a loop, which
caused each consecutive 4-pixel vector to alternate between correct and
incorrect endianness.
The bug was introduced in 715e070d29 .
Thanks to RobbieAB for reporting the bug.
Fixes https://github.com/libsdl-org/SDL/issues/3428
(cherry picked from commit 9142292f4ad6d9bc8a2bc7c874e2fde54befeb9b)
2023-05-06 08:39:59 -07:00
Loc(Elliot)
3e64fec9f4
Fix bug memory acess
...
Bitmap is not initialized before use, that cause segmentation fault on function use it. Fix by allocate memory before use.
2023-05-04 07:01:25 -07:00
Frank Praznik
132b88749c
wayland: Destroy proxy wrappers and callbacks before event queues
...
Destroy any proxy wrappers and callbacks before the associated event queues to silence libwayland warnings about destroying the queues while proxies are still attached.
2023-04-27 13:08:59 -04:00
Linus Probert
8b39eb9b1f
wayland: Fixes a memory leak wheere primary selection isn't freed
...
(cherry picked from commit 43f65a6ef08a502485c6107b255a9b22c890acd5)
2023-04-24 12:00:16 -07:00
Mingjie Shen
a688ecd6fa
Check return value of SDL_malloc()
...
(cherry picked from commit a4604cb0d616db97921a2674a63b45f3fdfb81bc)
2023-04-23 12:28:54 -04:00
Cyril Dubet
7914234b26
Fix key code names for ISO keyboard layouts
...
(cherry picked from commit 60dcaff7eb25a01c9c87a5fed335b29a5625b95b)
2023-04-05 17:03:42 -07:00
Jerome Duval
eb0d214c17
Haiku: use a BLooper for events.
...
only create a BApplication when it doesn't already exist.
2023-03-30 10:20:11 -07:00
Frank Praznik
55f74c3285
x11: Don't allow the changing of certain scancodes
...
The X11 driver uses scancodes derived from keysyms to map the scancodes for extended keys to the physical keyboard, however, this can be incorrect when using certain XKB options (e.g. caps:swapescape), which changes the keysyms emitted by certain keys, but does not imply that their scancodes or positions should be altered. Mark selected scancodes as being non-remappable so that their scancodes aren't changed by toggling XKB mapping options.
2023-03-30 11:20:28 -04:00
Anonymous Maarten
85fecbb10b
video: fix warnings about unused variables when building without duff's loop
...
(cherry picked from commit 0c3777d5661dd0bf60ba3db634f79c2121371092)
2023-03-28 10:21:36 -07:00
Anonymous Maarten
1402d13556
video/blit: fix -Wimplicit-fallthrough warnings
...
(cherry picked from commit f7961b7c9ad598b031cd033f19e93c6d882e8e41)
2023-03-28 10:21:35 -07:00
Sylvain
16c9bad786
Safety fix: clear "_this->wakeup_window" when destroying the window
...
(cherry picked from commit c838ccf0e3a330ebbcf433698b8f5370c6fa80d6)
2023-03-28 08:29:24 -07:00
Sylvain
6574e5eb57
Safety fix: clear "_this->current_glwin" when destroying the window
...
(cherry picked from commit 0c048d98af449f1bc540e256c90eb792f1effff4)
2023-03-28 08:29:23 -07:00
Sylvain
4fa21ee5ed
Fixed bug #7515 - Window still grabbed after destroying
2023-03-28 09:43:34 +02:00
Anonymous Maarten
cd64e0b6e3
SDL_blit_copy: Don't call potentially FPU using SDL_memcpy in SDL_memcpyMMX
2023-03-27 06:13:28 +00:00
Sylvain
2dddaa7dc9
backport x11/sdl2 fixes
...
4b1378f
X11: fix size/position (test video_setWindowCenteredOnDisplay)
this fix x11 backend to correctly pass video_setWindowCenteredOnDisplay()
get border values early (eg status bar)
wait for size/position change to get valid values
d4d26e0
testautomation_video: if SDL_SetWindowSize/Position isn't honored, we should check there is an event
x11: send the events if various occasions
2023-03-25 10:27:17 +01:00
Sylvain
23bce27b26
Change SDL_BLENDMODE_MUL for gl renderers
...
Add FIXME for PSP and DirectFB
2023-03-16 20:27:09 +01:00
Sylvain
c078dfcf6b
Refresh generation of SDL_blit_auto.c after simplifying sdlgenblit.pl
2023-03-16 20:27:09 +01:00
Sylvain
18c4db678b
Simplify SDL_BLENDMODE_MUL in sdlgenblit.pl
2023-03-16 20:27:09 +01:00
Sylvain
7d26ba754a
Simplify SDL_BLENDMODE_MUL
2023-03-16 20:27:09 +01:00
Sylvain
bd70ce7f94
Refresh generation of SDL_blit_auto.c
2023-03-16 20:27:09 +01:00
Sam Lantinga
0d76380042
Code style: changed "sizeof foo" to "sizeof(foo)" (thanks @sezero!)
...
(cherry picked from commit c6443d86c92e962683a1efe5f123a144988875b5)
2023-03-09 15:23:59 -08:00
Sam Lantinga
46d143376a
If the client rect is empty, use the last known window size
...
This happens on Windows 11 with fullscreen desktop windows when the desktop is brought up with the Windows+D shortcut.
Fixes https://github.com/libsdl-org/SDL/issues/7419
(cherry picked from commit 2ca727aec6f5f264620f80999beb5ef77eefec4a)
2023-03-09 10:39:43 -08:00
Deve
1c2f825230
Fixed incorrect modifier keys handling on macOS
...
(cherry-picked from commit 45a58b7882a253db29b1b1393bc2a1fe030d5955)
2023-03-09 20:28:51 +03:00
Frank Praznik
6a999d16fa
wayland: Always use a scale factor of 1 for exclusive fullscreen emulation
2023-03-08 19:46:37 -05:00
Sam Lantinga
f5c0760c6b
Disassociate the SDLOpenGLContext from the view before deleting it
...
If we don't do this, the view will be blanked even if another context is current and rendering from that context won't be visible.
Fixes https://github.com/libsdl-org/SDL/issues/4986
2023-03-08 01:15:21 -08:00
Sam Lantinga
63e6c19b7d
Use SDL_GL_DeleteContext instead of Cocoa_GL_DeleteContext for context cleanup
...
That will make the current context NULL before deleting the context.
2023-03-08 01:13:00 -08:00
Sam Lantinga
1bd9ebf533
If we're not the current fullscreen window and we don't want to be fullscreen, don't touch the current video mode
...
Fixes an assertion in qemu on macOS, which creates multiple hidden windows:
2023-03-07 09:56:55.304 qemu-system-i386[9931:2984587] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'NSWindowStyleMaskFullScreen cleared on a window outside of a full screen transition. Called from (
0 AppKit 0x00000001968f77ac __25-[NSWindow setStyleMask:]_block_invoke + 140
1 AppKit 0x00000001968f76cc NSPerformVisuallyAtomicChange + 108
2 AppKit 0x00000001968f7580 -[NSWindow setStyleMask:] + 188
3 libSDL2-2.0.0.dylib 0x0000000106531328 Cocoa_SetWindowFullscreen + 568
4 libSDL2-2.0.0.dylib 0x0000000106501700 SDL_UpdateFullscreenMode + 1316
5 libSDL2-2.0.0.dylib 0x0000000106504270 SDL_SetWindowFullscreen_REAL + 328
6 libSDL2-2.0.0.dylib 0x000000010650117c SDL_FinishWindowCreation + 100
7 libSDL2-2.0.0.dylib 0x0000000106500998 SDL_CreateWindow_REAL + 1812
8 libSDL2-2.0.0.dylib 0x00000001063efd54 SDL_CreateWindow + 76
9 qemu-system-i386 0x00000001050aa600 sdl2_window_create + 192
10 qemu-system-i386 0x00000001050a9fa0 sdl2_2d_switch + 196
11 qemu-system-i386 0x0000000104e9c784 displaychangelistener_display_console + 524
12 qemu-system-i386 0x0000000104e9e36c register_displaychangelistener + 264
13 qemu-system-i386 0x00000001050ab6d0 sdl2_display_init + 304
14 qemu-system-i386 0x000000010505c870 qemu_init + 13380
2023-03-07 10:10:43 -08:00