|
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.
|
|
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.
|
|
c3bf69ca
|
2017-07-07T23:00:22
|
|
haiku: Fixed compiling without OpenGL support.
|
|
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.
|
|
e6583300
|
2017-07-02T22:46:23
|
|
haiku: Fixed using wrong constant for internal error handling.
SDL_CreateWindow() worked because ENOMEM is negative on Haiku.
|
|
200f782c
|
2017-07-01T19:52:12
|
|
qnx: fixed potential buffer overflow.
|
|
22241ed0
|
2017-07-01T17:50:47
|
|
Support for QNX 7.0 (thanks, Elad!).
Fixes Bugzilla #3686.
|
|
b1fbab50
|
2017-07-01T23:01:57
|
|
haiku: Fixed memory leak if destroying window.
|
|
944e06e6
|
2017-06-24T23:45:44
|
|
winrt: Fixed SDL include.
|
|
267dca13
|
2017-06-18T23:00:42
|
|
haiku: Removed unused internal function.
Its functionality is already in SDL_GL_GetAttribute().
|
|
90488d6c
|
2017-06-17T22:30:28
|
|
haiku: Added support for some values set with SDL_GL_SetAttribute().
|
|
0b750cd9
|
2017-06-16T23:30:38
|
|
pandora: Fixed compile error.
|
|
fa73685d
|
2017-06-16T23:30:30
|
|
directfb: Fixed quitting keyboard twice.
SDL_VideoQuit() already calls SDL_KeyboardQuit().
|
|
a4db3dbe
|
2017-06-16T23:30:13
|
|
nacl: Fixed unnecessary large input text array.
|
|
9085c7b3
|
2017-06-16T11:14:08
|
|
Get the parent of non-SDL-created windows, for completeness
|
|
1b5614b3
|
2017-06-16T10:50:29
|
|
Clean up parent window when destroying a window
|
|
0a75192d
|
2017-06-16T09:10:13
|
|
Implemented SDL_WINDOW_SKIP_TASKBAR on Windows
|
|
60c0f7e2
|
2017-06-15T23:30:29
|
|
Fixed SDL_GetWindowWMInfo() returning success on three unsupported platforms.
|
|
5b75e903
|
2017-06-11T22:30:49
|
|
directfb: Fixed comment.
|
|
fbd30c36
|
2017-06-11T22:30:39
|
|
Fixed missing error messages for SDL_GetWindowWMInfo().
|
|
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.
|
|
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.
|
|
bb100d3b
|
2017-06-10T21:29:37
|
|
Expose display refresh rate on iOS/tvOS 10.3+.
|
|
599d9ba1
|
2017-06-05T21:30:25
|
|
emscripten: listen for pointerlockchange events on the #document specifically.
|
|
4b47fa38
|
2017-06-04T23:15:47
|
|
Removed duplicate includes.
|
|
248410dd
|
2017-06-04T23:15:13
|
|
Fixed SDL_GL_SetSwapInterval() returning success on two unsupported platforms.
|
|
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.
|
|
63b3e06f
|
2017-06-03T23:00:15
|
|
Corrected names of header file guards.
|
|
00394996
|
2017-06-02T22:15:12
|
|
Fixed crash if calling SDL_CreateShapedWindow() on unsupported platforms.
|
|
1b9dc599
|
2017-05-28T21:50:11
|
|
haiku: Fixed SDL_SetClipboardText() putting random data in clipboard.
|
|
de52dc29
|
2017-05-28T15:36:09
|
|
haiku: Correctly set keyboard focus (thanks, Kai!).
The message sent upon the window being activated or deactivated, to trigger
the call to SDL_SetKeyboardFocus was missing a mandatory parameter. So
keyboard focus was never properly set.
Fixes Bugzilla #3658.
|
|
b3f94acb
|
2017-05-28T07:11:52
|
|
linux: Simplify D-Bus interface, remove lots of boilerplate.
|
|
604a4b1b
|
2017-05-27T23:30:21
|
|
haiku: Fixed SDL_SetClipboardText() allocating too much memory and cutting text.
It allocated pointers instead of chars and passed a wrong size to SDL_strlcpy().
|
|
6fbde875
|
2017-05-27T00:33:26
|
|
code style: wrap a single-statement if in braces.
|
|
3fbd21ce
|
2017-05-27T00:30:06
|
|
windows: msgboxes should specify a parent HWND if possible (thanks, Ismael!).
This lets them be properly modal.
Fixes Bugzilla #3650.
|
|
90ed3daa
|
2017-05-26T22:45:52
|
|
Changed messages about not recognized keys to include discourse link.
|
|
75931972
|
2017-05-26T22:45:40
|
|
emscripten: Fixed compiling on C89 compilers.
|
|
1e13d93f
|
2017-05-25T23:01:34
|
|
directfb: Changed internal function to be static.
|
|
6c0aea42
|
2017-05-25T23:00:58
|
|
wayland: Fixed freeing memory of SDL_malloc() with plain free().
|
|
c66f0471
|
2017-05-25T23:00:43
|
|
Removed unused internal window shape functions.
|
|
126e5a1d
|
2017-05-24T14:04:39
|
|
Emscripten: Prevent default on arrow keys
|
|
f839b209
|
2017-05-24T14:04:25
|
|
Emscripten: fixed incorrect conversion of touch motion events to mouse motion events
|
|
bf8ccf08
|
2017-05-19T23:30:59
|
|
Removed redundant mouse clean up on quit for some platforms.
SDL_MouseQuit() already frees cursors and sets fields to NULL.
|
|
77240762
|
2017-05-16T17:48:57
|
|
Fixed restoring a window that was maximized then minimized, then restored.
|
|
ccf0566c
|
2017-05-16T06:30:39
|
|
SDL - add SDL_WINDOW_VULKAN and make Android_CreateWindow only create an EGLSurface when SDL_WINDOW_VULKAN is not present. This makes it so the ANativeWindow* can be used with vkCreateAndroidSurfaceKHR, otherwise it will fail because having both an EGLSurface and VkSurfaceKHR attached to a window is not allowed according to the Vulkan spec:
"In particular, only one VkSurfaceKHR can exist at a time for a given window. Similarly, a native window cannot be used by both a VkSurfaceKHR and EGLSurface simultaneously"
CR: SamL
|
|
df4cf79d
|
2017-05-13T23:00:53
|
|
directfb: Fixed compiler warnings about undefined functions.
|
|
29222db7
|
2017-05-13T23:00:35
|
|
emscripten: Fixed not removing pointer lock event callback.
|
|
cc5b4f45
|
2017-05-12T23:01:17
|
|
emscripten: Changed internal functions to be static.
|
|
ce01128a
|
2017-05-12T23:01:04
|
|
Fixed warnings about shadowed global variable.
Found by buildbot.
|
|
87e0d812
|
2017-05-12T23:00:40
|
|
directfb: Removed duplicate comment.
|
|
61c326e1
|
2017-05-11T23:00:39
|
|
directfb: Fixed typo in log message.
|
|
75c0d1ef
|
2017-05-11T23:00:21
|
|
directfb: Fixed compiler warnings about unused variables.
|
|
9ac3bb70
|
2017-05-09T10:10:42
|
|
Added support for mixing Qt and SDL on iOS
You should call SDL_SetMainReady(), and then customize the QIOSApplicationDelegate like this, in your application code:
/* Additional support for applications mixing Qt and SDL */
@interface QIOSApplicationDelegate : UIResponder <UIApplicationDelegate>
@end
extern "C"
{
void SDL_OnApplicationWillResignActive();
void SDL_OnApplicationDidEnterBackground();
void SDL_OnApplicationWillEnterForeground();
void SDL_OnApplicationDidBecomeActive();
}
@interface QIOSApplicationDelegate (SDL)
- (void)applicationWillResignActive:(UIApplication*)application;
- (void)applicationDidEnterBackground:(UIApplication*)application;
- (void)applicationWillEnterForeground:(UIApplication*)application;
- (void)applicationDidBecomeActive:(UIApplication*)application;
@end
@implementation QIOSApplicationDelegate (SDL)
- (void)applicationWillResignActive:(UIApplication*)application
{
SDL_OnApplicationWillResignActive();
}
- (void)applicationDidEnterBackground:(UIApplication*)application
{
SDL_OnApplicationDidEnterBackground();
}
- (void)applicationWillEnterForeground:(UIApplication*)application
{
SDL_OnApplicationWillEnterForeground();
}
- (void)applicationDidBecomeActive:(UIApplication*)application
{
SDL_OnApplicationDidBecomeActive();
}
@end // QIOSApplicationDelegate
|
|
8b7ae353
|
2017-05-09T03:19:58
|
|
Fixed build error on Linux
|
|
b7b91907
|
2017-05-07T21:02:31
|
|
haiku: Changed internal function to be static.
|
|
3ed2f0ca
|
2017-05-07T21:02:16
|
|
haiku: Fixed unlocking clipboard twice.
|
|
4466b931
|
2017-05-06T21:46:11
|
|
haiku: Fixed comment.
|
|
34747107
|
2017-05-06T21:46:00
|
|
mir: Fixed memory leak if system cursor id is unknown.
|
|
34d9c521
|
2017-05-06T21:45:43
|
|
emscripten: Fixed return type in event callback declaration.
|
|
ce2998b8
|
2017-05-02T21:46:28
|
|
cocoa: Don't crash on messagebox keypress without a successful SDL_Init().
|
|
619ab7a2
|
2017-05-01T18:39:05
|
|
haiku: Various fixes from haikuports.
Based on patch here:
https://github.com/haikuports/haikuports/blob/master/media-libs/libsdl2/patches/libsdl2-2.0.5.patchset
|
|
444c47a1
|
2017-04-29T22:50:35
|
|
windows: Changed six internal functions to be static.
|
|
545fba78
|
2017-04-22T19:53:52
|
|
x11: Don't send duplicate events when reconciling the keyboard state
Failing to check if a key was known to be pressed by SDL was causing
SDL_SendKeyboardKey to send duplicate key pressed events with the repeat
property set to true.
Fixes Bugzilla #3637.
|
|
1286a7d2
|
2017-04-20T21:31:44
|
|
windows: Add SDL_WINDOW_ALWAYS_ON_TOP support.
|
|
93a6191c
|
2017-04-20T13:00:54
|
|
emscripten: keep track of pointer lock losses and maybe regrab pointer later.
If an Emscripten app is in relative mouse mode and the user presses Escape
(or whatever is appropriate), then the pointer lock is broken by the browser.
This keeps track of those losses, and next time the user presses a mouse
button down on the canvas, if the app is still meant to be in relative mouse
mode, we will attempt to regrab the pointer.
This makes it much more seamless for things like first-person shooters, and
the app doesn't need any manual intervention.
|
|
2bf79c2e
|
2017-04-09T23:00:54
|
|
mir: Fixed typo in error messages.
|
|
a4dbf565
|
2017-04-06T13:27:51
|
|
Fix divide-by-zero when videodata->ime_candpgsize is zero. We're seeing this happen in Dota in the wild.
|
|
66555f61
|
2017-04-06T13:27:48
|
|
SDL - attempt to fix https://github.com/ValveSoftware/Dota-2/issues/1199 of mouse not locking in Dota. This fix is proposed by Ryan Gordon (increase timeout in X11_SetWindowGrab from 250ms to 5000ms). I'm going to integrate to source2 and ship it to dota customers. If it works, SamL will upsteam it to SDL.
|
|
5789da67
|
2017-04-03T13:32:53
|
|
Fixed bug 1859 - No SDL_VIDEORESIZE event generated when the window manager sets the window size.
Samuel Hopkins
Just confirming that the patch from Andreas (attachment 1715 [details]) works for me under SDL 2.0.3 with xmonad.
Stas Sergeev
Confirming that the patch in this ticket fixes the full-screen switching for dosemu2 on ubuntu-16.04. Note that I am not using xmonad, so this bug appears to be generic.
|
|
1517ba72
|
2017-04-02T21:33:54
|
|
PSP: Fixed error messages.
|
|
f96cdca4
|
2017-04-02T21:33:42
|
|
Mir: Changed two internal functions to be static.
|
|
266816b4
|
2017-03-26T21:00:19
|
|
Removed newlines from error messages.
|
|
c35f46d0
|
2017-03-18T13:57:57
|
|
mir: Set the max/min w/h vs just setting the window w/h
|
|
22161480
|
2017-03-14T07:22:08
|
|
Compile fix for android.
"ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]"
Moving some variable declarations to the top of Android_SetScreenResolution()
|
|
72fdf629
|
2017-03-04T23:05:32
|
|
Mir: Fixed crash if creating default cursor failed.
Found by Cppcheck.
|
|
6aa17426
|
2017-03-03T16:38:45
|
|
video: Don't compile isAtLeastGL3() if we don't have OpenGL support _at all_.
|
|
ca0bf151
|
2017-03-03T16:38:17
|
|
Fix some more compiler warnings on armcc.
|
|
d526b8a1
|
2017-03-02T13:33:04
|
|
Some patches to make SDL compile with armcc (ARM's C compiler).
|
|
94a69443
|
2017-03-01T15:05:54
|
|
mistake: Revert the files that I did not mean to commit
|
|
7bbb13ea
|
2017-03-01T14:50:59
|
|
* Some refactoring and bug fixes. Thanks Micha? Kuchta!
|
|
bc877885
|
2017-02-28T19:48:52
|
|
raspberrypi: RPI_Destroy() should free the SDL_VideoDevice and its driverdata.
|
|
5a47ee03
|
2017-02-27T12:20:16
|
|
mir: Get ready for Mir 1.0, clean up deprecations. Thanks Micha? Kuchta!
|
|
e5d9b25d
|
2017-02-26T21:20:39
|
|
Fixed comment style.
|
|
07519a6b
|
2017-02-26T00:40:04
|
|
Removed a bunch of unnecessary #ifdefs.
|
|
0d647d35
|
2017-02-17T10:13:17
|
|
Emscripten: implement custom cursors
|
|
33bddcfd
|
2017-02-17T10:13:12
|
|
Emscripten: refactor cursor handling
|
|
613955b4
|
2017-02-17T10:13:07
|
|
Emscripten: only update pixel ratio if HiDPI is enabled
|
|
70c0400b
|
2017-02-13T17:00:46
|
|
windows: Try to unify all the GUID comparison code into a core helper function.
There are likely several more I missed.
|
|
cf31ea14
|
2017-02-11T11:14:48
|
|
Fixed bug 3583 - X11 touch device can be permanently lost
Volumetric
In X11 the SDL error "Unknown touch device" can occur after which the application stops recognizing touch events. For a kiosk-type application this results in a hang as far as the user is concerned. This is reproducible on HP Z220/Z230/Z240 workstations by swapping USB cables for a while and it also occurs with no physical changes, probably due to USB device power management. A workaround is to make SDL re-enumerate the touch devices like it does at startup. A patch is attached.
|
|
9171f71d
|
2017-02-10T09:41:16
|
|
Fixed warning in Android build
|
|
da30992d
|
2017-02-02T00:41:58
|
|
Fixed bug 3577 - Can't set minimal size (message box appears instead) if maximal size wasn't declared (i.e. unlimited)
|
|
52e9c42d
|
2017-01-28T14:35:35
|
|
Fixed Windows build
|
|
869b7fe3
|
2017-01-28T11:17:10
|
|
Fixed bug 3550 - No mouse move messages send while over the titlebar and windows edges
Matthew
Its possible to set SDL_CaptureMouse() so you continue receiving mouse input while the mouse is outside your window. This works however There is then a gap where no messages send, which is when the mouse is hovering the title bar and the window edges.
|
|
c3eea703
|
2017-01-28T10:54:12
|
|
Use a stronger X font definition for X11_MessageBox on UTF-8
X11 seemed to be confused by the broad definition, so WEIGHT_NAME,
SLANT and SETWIDTH_NAME were defined, thus fixing the font lookup
on some systems (tested on Mageia 6 with X11 1.19.1).
Fixes bug 3571.
|
|
0090a338
|
2017-01-27T21:16:38
|
|
Return an error if trying to set a window minimum size larger than the maximum size, or vice versa
|
|
4f981df3
|
2017-01-22T22:15:36
|
|
Haiku: Fixed memory leak if creating framebuffer failed.
|
|
800a9e84
|
2017-01-21T22:00:56
|
|
Fixed compiler warning about returning a value in a void function.
|
|
95defd66
|
2017-01-17T21:18:31
|
|
Use icon width * sizeof(Uint32) instead of icon pitch when copying to icon resource data
|
|
341d1ff9
|
2017-01-13T11:37:12
|
|
Fixed comment
|
|
a52d48c5
|
2017-01-10T08:54:33
|
|
Fixed bugs 2570, 3145, improved OpenGL ES context support on Windows and X11
Mark Callow
The attached patch does the following for the X11 and Windows platforms, the only ones where SDL attempts to use context_create_es_profile:
- Adds SDL_HINT_OPENGL_ES_DRIVER by which the application can
say to use the OpenGL ES driver & EGL rather than the Open GL
driver. (For bug #2570)
- Adds code to {WIN,X11}_GL_InitExtensions to determine the maximum
OpenGL ES version supported by the OpenGL driver (for bug #3145)
- Modifies the test that determines whether to use the OpenGL
driver or the real OpenGL ES driver to take into account the
hint, the requested and supported ES version and whether ES 1.X
is being requested. (For bug #2570 & bug #3145)
- Enables the testgles2 test for __WINDOWS__ and __LINUX__ and adds
the test to the VisualC projects.
With the fix in place I have run testdraw2, testgl and testgles2 without any issues and have run my own apps that use OpenGL, OpenGL ES 3 and OpenGL ES 1.1.
|