|
95864f86
|
2014-06-25T17:24:06
|
|
Patched to compile on Windows.
|
|
84cb2320
|
2014-06-25T17:13:43
|
|
Patched to compile with -Werror=declaration-after-statement
|
|
b29740b8
|
2014-06-25T17:06:12
|
|
Merged Ryan's SDL-gui-backend branch.
Adds three APIs, and implements them on X11, Cocoa, and Windows:
- SDL_CaptureMouse()
- SDL_GetGlobalMouseState()
- SDL_SetWindowHitTest()
|
|
84369567
|
2014-06-25T16:16:55
|
|
Changed SDL_GetAbsoluteMouseState() to SDL_GetGlobalMouseState().
This matches naming conventions in the main repository, between
SDL_GetRelativeMouseState() and SDL_WarpMouseGlobal().
|
|
704d9bd3
|
2014-06-25T02:08:37
|
|
Fixed bug 2525 - Keyboard focus crash
Todd Seiler
Call Stack:
#0 0x0000000101c29291 in Cocoa_StartTextInput at /Users/Todd/Desktop/codes/sources/SDL/src/video/cocoa/SDL_cocoakeyboard.m:512
#1 0x0000000101c110c5 in SDL_SetKeyboardFocus at /Users/Todd/Desktop/codes/sources/SDL/src/events/SDL_keyboard.c:643
#2 0x0000000101c32be4 in SetupWindowData at /Users/Todd/Desktop/codes/sources/SDL/src/video/cocoa/SDL_cocoawindow.m:981
#3 0x0000000101c32d2a in Cocoa_CreateWindowFrom at /Users/Todd/Desktop/codes/sources/SDL/src/video/cocoa/SDL_cocoawindow.m:1092
#4 0x0000000101c99999 in SDL_CreateWindowFrom_REAL at /Users/Todd/Desktop/codes/sources/SDL/src/video/SDL_video.c:1338
#5 0x0000000101ce1484 in SDL_CreateWindowFrom at /Users/Todd/Desktop/codes/sources/SDL/src/dynapi/SDL_dynapi_procs.h:547
#6 0x0000000100018a5e in SceneRenderer at /Users/Todd/Desktop/codes/sources/tseiler_Todds-MacBook-Pro_3405/AppName/src/SceneRenderer.cpp:138
#7 0x0000000100017ca5 in SceneRenderer at /Users/Todd/Desktop/codes/sources/tseiler_Todds-MacBook-Pro_3405/AppName/src/SceneRenderer.cpp:145
#8 0x000000010000cd96 in App::execute(int, char**) at /Users/Todd/Desktop/codes/sources/tseiler_Todds-MacBook-Pro_3405/AppName/src/App.cpp:28
#9 0x0000000100004402 in main at /Users/Todd/Desktop/codes/sources/tseiler_Todds-MacBook-Pro_3405/AppName/src/main.cpp:8
This issue occurred when using Ogre3D Graphics engine on Mac (cocoa) to create the window. Then handing the window handle off to SDL_CreateWindowFrom().
In Ogre3D application you do the following:
window_ = root_->initialise(true, "Ogre Window 2");
loadOgreResources();
Ogre::WindowEventUtilities::addWindowEventListener(window_, this);
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
NSWindow* Data = 0;
window_->getCustomAttribute("WINDOW", &Data);
sdl_window_ = SDL_CreateWindowFrom((void*)Data);
#endif
It results in a crash in this function:
SDL_cocoakeyboard.m
void
Cocoa_StartTextInput(_THIS)
{
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
SDL_Window *window = SDL_GetKeyboardFocus();
NSWindow *nswindow = nil;
if (window)
nswindow = ((SDL_WindowData*)window->driverdata)->nswindow;
// ...
}
The crash occurred because "driverdata" was nil. Before this function call, a call to SetupWindowData is called:
SDL_cocoawindow.m
static int
SetupWindowData(_THIS, SDL_Window * window, NSWindow *nswindow, SDL_bool created)
{
// ...
if ([nswindow isKeyWindow]) {
window->flags |= SDL_WINDOW_INPUT_FOCUS;
SDL_SetKeyboardFocus(data->window);
}
/* Prevents the window's "window device" from being destroyed when it is
* hidden. See http://www.mikeash.com/pyblog/nsopenglcontext-and-one-shot.html
*/
[nswindow setOneShot:NO];
/* All done! */
[pool release];
window->driverdata = data;
return 0;
}
As you can see: "window->driverdata = data" is performed after the "SDL_SetKeyboardFocus()" call, which eventually leads to "Cocoa_StartTextInput()" where the crash occurs.
|
|
a8955f26
|
2014-06-25T01:35:17
|
|
Made the RLE code (semi) readable again
|
|
afe14829
|
2014-06-25T00:43:10
|
|
Fixed bug 2556 - add compilation flag -Wshadow
Sylvain
here's the full patch for Blit + RLE.
|
|
67e55655
|
2014-06-23T10:09:15
|
|
Fixed grab interaction with Windows Classic theme
Testing:
* For each theme in Windows 7, Windows 7 Basic, and Windows 7 Classic:
- Ran testsprite2
- Pressed Ctrl-G to grab the mouse
- Alt-tabbed away, verified mouse is no longer grabbed
- Alt-tabbed back, verified that mouse was grabbed
- Alt-tabbed away
- Clicked in the window, verified mouse was grabbed
- Alt-tabbed away
- Grabbed the title bar and dragged the window around successfully, verified that mouse was grabbed when move modal loop completed
- Alt-tabbed away
- Clicked the minimize button on the title bar, the window was successfully minimized
- Clicked on the icon in the task bar, the window was restored and the mouse grabbed again
- Alt-tabbed away
- Clicked the close button on the title bar, the window was successfully closed
|
|
9e2a2639
|
2014-06-23T10:09:13
|
|
Added names for some theme related windows messages
|
|
620510b3
|
2014-06-23T09:18:31
|
|
Fix compiler warning
|
|
cff9eac6
|
2014-06-22T09:48:46
|
|
Fixed bug 2579 - SDL fails to compile on Windows when only EGL+OpenGL ES defined
callow.mark
Compiling with SDL_VIDEO_RENDER_OGL=0, SDL_VIDEO_OPENGL=0, SDL_VIDEO_OPENGL_WGL=0, SDL_VIDEO_RENDER_OGL_ES2=1, SDL_VIDEO_OPENGL_ES2=1 and SDL_VIDEO_OPENGL_EGL=1 set in SDL_config_windows.h fails.
A patch is attached. See bug #2570 for reasons you might want to compile this way.
|
|
d65ac778
|
2014-06-22T02:48:43
|
|
Restore window OpenGL state if creating an OpenGL renderer fails
|
|
b7b6d8ab
|
2014-06-22T02:30:36
|
|
Fixed crash initializing OpenGL ES renderer if OpenGL renderer fails
|
|
b56b37cd
|
2014-06-21T17:25:59
|
|
Fixed warning when building without ibus
|
|
d7924c73
|
2014-06-21T12:43:57
|
|
Fixed bug 2563 - Remove obsolete code for supporting iOS < 5
Alex Szpakowski
Now that SDL for iOS requires at least iOS 5.1 at runtime, there are several old codepaths in the UIKit backend which can be removed. I've attached a patch which does so.
|
|
8ef56511
|
2014-06-21T11:36:00
|
|
Fixed compiler warning
|
|
7e52722d
|
2014-06-20T11:10:16
|
|
Fix compiler warnings in Native Client and Linux builds.
|
|
41a39837
|
2014-06-18T20:11:39
|
|
Add IBus IME Support, move DBus code to its own file. (v3.3 squashed)
|
|
ab238dc6
|
2014-06-16T09:54:33
|
|
Assorted fixes for NaCl. Hat tip to Sylvain Becker
|
|
9e55ace8
|
2014-06-16T09:47:23
|
|
Fixes #2583, clean up EGL initialization
|
|
260549d1
|
2014-06-15T18:31:30
|
|
Fixed bug 2567 - x11: Local dropped files are not URI-decoded
Melker Narikka
Local files that are dropped onto a window under X11
are not going through a URI decoding step, resulting in the following
in my test application:
Dropped file /home/meklu/Pictures/Screenshot%20from%202013-10-30%2014:04:50.png
Couldn't load /home/meklu/Pictures/Screenshot%20from%202013-10-30%2014:04:50.png
Expected result:
Dropped file /home/meklu/Pictures/Screenshot from 2013-10-30 14:04:50.png
Loaded /home/meklu/Pictures/Screenshot from 2013-10-30 14:04:50.png successfully
I've attached a patch that fixes the issue by doing URI decoding in-place on
the file string buffer.
|
|
6146fe85
|
2014-06-15T17:18:05
|
|
Fixed 2584 - Memory leak in Cocoa_GetDisplayName
Diego
The Xcode Instruments Leak tool reports a leak from IODisplayCreateInfoDictionary in Cocoa_GetDisplayName.
This happened after upgrading to Xcode 5.
|
|
39bad809
|
2014-06-15T11:59:16
|
|
Mac: Fixed crash when returning from a fullscreen Space on shutdown.
|
|
2cce7b2e
|
2014-06-11T00:40:19
|
|
Implemented Cocoa GetAbsoluteMouseState().
|
|
4676705d
|
2014-06-11T00:12:19
|
|
Implement Windows GetAbsoluteMouseState().
|
|
c8c55a01
|
2014-06-11T00:12:06
|
|
This should probably query async button state.
|
|
d2220917
|
2014-06-08T13:03:45
|
|
Fixed typo in log message.
|
|
1e352d79
|
2014-06-06T15:45:59
|
|
Chrome's Native Client backend implementation
|
|
c8cf407e
|
2014-06-05T00:54:43
|
|
Wired up Windows resize hit testing.
|
|
2d38a71a
|
2014-06-05T00:45:16
|
|
Added SDL_HITTEST_RESIZE_*, and implemented for X11.
|
|
b861efde
|
2014-06-05T00:03:33
|
|
Implemented SDL_GetAbsoluteMouseState().
X11 only for now, but this should be doable on every platform, I think.
|
|
d829af78
|
2014-06-04T12:55:18
|
|
Assume all motion events are mouse events unless tool_type states otherwise.
|
|
4fd03b95
|
2014-06-04T10:57:52
|
|
Setting the window size changes the fullscreen display mode, unless a window display mode has been set.
Testing:
* Ran testsprite2 --fullscreen, used Ctrl+ and Ctrl- to change window sizes, verified that the display mode changed as well.
|
|
da6d9a9f
|
2014-06-04T10:56:56
|
|
Added annotations to help code analysis tools
CR: Bruce Dawson
|
|
529bcf62
|
2014-06-04T10:56:43
|
|
Fixed bug 2526, but regressed delivering dead key presses
|
|
4750fe73
|
2014-06-04T10:56:37
|
|
When the window fullscreen mode changes, update the display resolution
|
|
707fd9f0
|
2014-06-04T10:56:30
|
|
Fixed bug where changing the window border would change the window size on Windows.
|
|
1e00c03f
|
2014-06-04T10:56:17
|
|
Fixed Mac OS X build
|
|
45ed5ee4
|
2014-06-04T10:55:26
|
|
Added an API function to warp the mouse cursor in global screen space: SDL_WarpMouseGlobal()
|
|
3e3b34ad
|
2014-06-04T10:52:34
|
|
Added a hint to disable windows message processing in SDL_PumpEvents()
SDL_SetHint( SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP, "0" );
|
|
0d1f0fed
|
2014-06-04T10:50:32
|
|
Added a hint to disable window frame and title bar interaction when the cursor is hidden
|
|
65133ebc
|
2014-06-04T09:39:08
|
|
Wait for the fullscreen transition to complete before allowing the application to continue.
This fixes Alt-Enter in the Steam streaming client, which sets the window size and position immediately after switching out of fullscreen mode.
|
|
16360b19
|
2014-06-04T01:56:14
|
|
Fixed escape cancelling fullscreen mode now that the SDL window is the first res
ponder.
|
|
c1e11f69
|
2014-06-03T21:13:00
|
|
X11: Provide specific X error when SDL_GL_CreateContext fails.
This makes the X error handler used for GL context creation handle *all* errors
and provide the user with specific error messages when SDL_GL_CreateContext
fails.
CR: icculus@icculus.org
|
|
ece2a9bf
|
2014-06-02T09:20:09
|
|
Hopefully really fixed the Android build
|
|
5186be4a
|
2014-06-02T09:12:51
|
|
Fixed Android build
|
|
a8fcbc46
|
2014-06-02T09:09:40
|
|
Fixed bug 2534 - Mac: black bar at top of screen in SDL_WINDOW_FULLSCREEN mode
Alex Szpakowski
Patch to fix the y component of the position of fullscreen windows in OS X.
In Mac OS X with the latest Mercurial code, when a window is in exclusive-fullscreen the y component of its position is offset by the same amount that is normally taken up by the menubar, resulting in a black bar at the top of the screen.
The recent changes to the internal ConvertNSRect function make it treat the bottom of the menubar as 0 for the y component of window positions, even when the window is fullscreen and 'above' the menubar.
I have attached a patch which fixes the issue by only making the window position relative to the menubar in windowed modes.
|
|
6b90d7f5
|
2014-06-02T09:06:38
|
|
Fixed bug 2550 - [OS X 10.9] Enabling SDL_WINDOW_FULLSCREEN after relative mouse mode leaves cursor visible
Eric Wasylishen
Steps to reproduce:
- Run testwm2 app in the SDLTest Xcode project
- Press Control+R to enable relative mouse mode. The mouse cursor should disappear.
- Press Control+Enter to enter fullscreen.
- Expected: a black screen with no cursor visible. Observed: a black screen, but the mouse cursor is visible in the middle of the screen. It doesn't move when I move the mouse.
Reproduced with latest sdl2 hg (changeset f6010ead184f) on OS X 10.9.2. Can't reproduce the problem on OS X 10.6.8 or 10.7.5.
I'm speculating that this really an Apple bug.. but anyway, the attached workaround seems to fix it for me, and I think it's fairly safe.
A more obvious idea, sticking a call SDL_SetCursor(NULL) at the end of Cocoa_SetWindowFullscreen, didn't work.
|
|
32665131
|
2014-06-02T09:01:26
|
|
Added a way to get the native Android window and EGL context
|
|
3905b910
|
2014-06-02T09:01:10
|
|
Fixed bug 2479 - [OS X] SDL_SetWindowFullscreen fails to switch to windowed
Eric Wasylishen
The problem seems to be the spaces handling code in -setFullscreenSpace: (SDL_cocoawindow.m) is incorrectly reporting that the SDL_WINDOW_FULLSCREEN -> windowed transition has already happened.
i.e. I saw this case was getting hit when trying to leave SDL_WINDOW_FULLSCREEN:
"else if (state == isFullscreenSpace) {
return YES; /* already there. */
}"
With the attached patch, both Control+Enter (SDL_WINDOW_FULLSCREEN toggle) and Option+Enter (SDL_WINDOW_FULLSCREEN_DESKTOP toggle) work in an sdl test app (I tried testwm2). Tested on OS X 10.9.2.
|
|
75c57f8d
|
2014-06-02T08:58:07
|
|
Don't use D3D9Ex by default, since it can change behavior for games which rely on D3D9 classic.
|
|
9d00f75a
|
2014-05-31T14:03:04
|
|
Fixed bug 2520 - Held double-click app startup creates a stuck MOUSEBUTTONDOWN event
snake5creator
When starting application with the usual "double click on file" method on Windows, only holding the last click, an unnecessary MOUSEBUTTONDOWN event is sent before the initial MOUSEMOTION event, and mouse button state is stuck in the sense that it takes a subsequent button release, followed by another press for the system to resume sending events (beginning with the next button release / MOUSEBUTTONUP event).
Input event log with held double-click startup: http://i.imgur.com/nypGKR2.png
Without: http://i.imgur.com/yaIqAvV.png
|
|
70df9cd0
|
2014-05-31T12:21:55
|
|
Fullscreen to windowed mode switch
From Melesie
I noticed that when user switches from fullscreen mode to windowed mode and exits application while in windowed mode, Windows performs an additional change of display settings, even though desktop resolution is the same as current one. This causes short black screen to show up. The only way I know of avoiding this is to explicitly switch to default display settings found in registry. MSDN documentation for ChangeDisplaySettingsEx states:
Passing NULL for the lpDevMode parameter and 0 for the dwFlags parameter is the easiest way to return to the default mode after a dynamic mode change.
|
|
18c31dec
|
2014-05-31T11:53:19
|
|
Fixed Direct3DCreate9Ex prototype
|
|
0c6b99d5
|
2014-05-31T11:48:52
|
|
Fixed cast
|
|
49c53fd2
|
2014-05-31T11:37:12
|
|
Use D3D9Ex when available
This hopefully works around crashes in Intel D3D9 support in Windows 8.1.
|
|
bb7a27fa
|
2014-05-30T01:51:13
|
|
Fixed up SDL_CaptureMouse() on Windows to work like I expected.
This would have been a one-line patch to the documentation (specifying that
captures only work as long as the left mouse button is pressed), but I didn't
like that, so I got a little crazy about this instead.
|
|
bcc2cc87
|
2014-05-30T01:49:26
|
|
Fixed hit-testing on Windows.
Needed to convert from screen to client coords.
|
|
89ad7934
|
2014-05-29T13:39:02
|
|
First shot (not even compiled) at Windows hit-testing support.
|
|
98c03f39
|
2014-05-28T01:22:47
|
|
Changed drag area API to a hit-testing API.
There were several good arguments for this: it's how Windows works with
WM_NCHITTEST, SDL doesn't need to manage a list of rects, it allows more
control over the regions (how do you use rects to cleanly surround a circular
button?), the callback can be more optimized than a iterating a list of
rects, and you don't have to send an updated list of rects whenever the
window resizes or layout changes.
|
|
7a4ddcd8
|
2014-05-27T15:47:25
|
|
Don't hardcode an 8 here.
|
|
20ac4bae
|
2014-05-27T15:40:03
|
|
Some updates for the X11 drag areas work.
|
|
2744c019
|
2014-05-27T14:41:16
|
|
Initial work on X11 implementation of SDL_SetWindowDragAreas().
|
|
3cbc83ef
|
2014-05-27T01:27:42
|
|
First shot at SDL_SetWindowDragAreas().
Only Cocoa implemented right now.
|
|
dd5277d6
|
2014-05-24T21:06:40
|
|
Fixed stack overflow in X11_CreateWindow() (thanks, rapha and Brad!).
This should be a "long" which on a 64-bit system is likely to be > 32-bits,
causing XGetICValues() to write past the end of the variable (and stack).
Fixes Bugzilla #2513.
|
|
ded970f7
|
2014-05-24T18:23:56
|
|
Flip this around to do the simpler condition first.
|
|
668025c2
|
2014-05-24T18:23:39
|
|
Implement SDL_CaptureMouse() for Mac OS X.
|
|
b7d2c0e9
|
2014-05-24T01:30:37
|
|
Implemented SDL_CaptureMouse().
|
|
846a3e07
|
2014-05-24T01:27:19
|
|
Added some FIXMEs.
|
|
f0e0f4ca
|
2014-05-24T01:25:27
|
|
Fixed whitespace.
|
|
9bc47465
|
2014-05-18T21:11:30
|
|
Changed C++ style comments.
|
|
49cef77e
|
2014-05-10T23:39:54
|
|
WinRT: fixed the max-button count for WinPhone 8.1 message boxes
Doh.
The max button count on WinPhone 8.1 was set to three, not two. Any more than
two leads to a crash.
|
|
ea99e0c0
|
2014-05-10T23:28:53
|
|
Added limited message-box support for Windows Phone 8.1
The Windows Phone 8.1 'MessageDialog' API only seems to support two buttons,
despite the documentation for such mentioning support for three. Trying to use
three or more buttons leads to an exception being thrown. As such, any attempt
to use more than two buttons via SDL_ShowMessageBox (on Windows Phone 8.1) will
lead to no message box getting shown, and the call returning an error.
The Win32 MessageBox and dialog APIs are not available in WinRT apps, to note.
More extensive message dialog support might be available at some point, if and
when XAML support is more fully fleshed-out. I'm not certain of this, though.
|
|
de0d349e
|
2014-05-10T16:50:05
|
|
Fixes #2512, handle configuration change messages sent by Wayland. Patch by Bryan Cain.
|
|
536dd013
|
2014-05-10T16:13:22
|
|
Fixes #2519, clear error if using the default library path for EGL succeeds.
|
|
164e5b89
|
2014-05-09T21:28:52
|
|
WinRT: display-information code cleanups
|
|
d4f1d225
|
2014-05-09T20:32:06
|
|
Fixed bug: touch input on WinPhone 8.0 was wrong, in some cases
When a Windows Phone 8.0 app was rotated to anything but Portrait mode, touch
input coordinates, as well as virtual mouse coordinates, were usually getting
reported as coming from the wrong part of the screen.
|
|
0a879d63
|
2014-05-09T20:16:21
|
|
Fixed rendering-alignment issues on WinPhone 8.1, when the device was rotated
If a Windows Phone 8.1 device was rotated to anything but Portrait mode,
the Direct3D 11 renderer's output wouldn't get aligned correctly with the
screen.
|
|
b6148092
|
2014-05-06T15:08:43
|
|
eglGetProcAddress fails the same way on MIR as ANDROID does on arm. Thanks Sylvain Becker for the patch!
|
|
2a7aa9bd
|
2014-05-06T00:13:07
|
|
Fix build on Windows targets without dxgi.h, like MingW32.
|
|
7528f94c
|
2014-05-02T12:39:26
|
|
Remove code that found its way back into the diff
|
|
44a0f1d9
|
2014-05-02T12:33:19
|
|
Fix software rendering in the mir backend. The window assumed hardware buffer, which caused testdrawchessboard to fail to mmap a buffer.
|
|
c5c1a2c6
|
2014-04-30T21:07:30
|
|
WinRT: preliminary support for building against the Windows Phone 8.1 SDK
This is a step towards supporting "Universal" Windows apps, when building for
Windows Phone. SDL can now build against the Windows Phone 8.1 SDK, and apps
linked to it can run, however further work and testing is required as some
previously Phone-only code appears to no longer be applicable for
Windows Phone 8.1. The Windows 8.1 code paths does seem to be preferable, but
should probably be tested and updated on a finer-grained basis.
If in doubt, use the Windows Phone 8.0 projects for now, as located in
VisualC-WinRT/WinPhone80_VS2012/
TODO:
- look at any Windows Phone specific code paths in SDL, and see if Phone 8.1
should use the Windows Phone code path(s), or the Windows 8.x or 8.1 paths
|
|
d2fb8a2a
|
2014-04-26T11:23:55
|
|
Better compiler for Windows XP systems
|
|
8b280091
|
2014-04-24T21:05:51
|
|
Mac: Correct the y-axis position after 870c7d21004b
This fixes a bug where we'd offset positions by the height of the dock, if it
was along the bottom of the screen.
Fixes https://bugzilla.libsdl.org/show_bug.cgi?id=2509
Thanks to Alex Szpakowski for bug & patch.
|
|
45dc89c2
|
2014-04-23T13:48:01
|
|
Fixed detecting output on second adapter
CR: Sam Lantinga
|
|
3e3570df
|
2014-04-23T13:47:57
|
|
Don't crash in WIN_GL_InitExtensions() if the OpenGL library couldn't be loaded
|
|
a5ce57bc
|
2014-04-23T13:47:52
|
|
Fixed compiler warning
|
|
acbc321c
|
2014-04-23T13:47:42
|
|
Don't try to load d3dcompiler_46.dll on Windows XP
|
|
af395e97
|
2014-04-23T13:47:35
|
|
Removed possible implicit memset()
|
|
beff5cec
|
2014-04-19T13:15:53
|
|
Mac: SDL_SetWindowPosition is now relative to the menubar.
It used to be that SDL_SetWindowPosition was relative to the top of the screen,
which didn't make sense. In addition, borderless windows can be positioned
*below* the menubar, so SDL_SetWindowPosition(win, 0, 0) on a borderless window
would hide ~30ish pixels of the window below the menubar.
|
|
2540214e
|
2014-04-19T00:31:02
|
|
Mir 14.04 headers available that allow scroll + touch events.
|
|
60e05040
|
2014-04-19T02:17:34
|
|
Fixed some issues reported on new Ubuntu 14.04 buildbots.
|
|
d2ea7cfe
|
2014-04-18T12:43:10
|
|
Fixed logic error loading DXGI
|
|
03afd0de
|
2014-04-18T12:43:04
|
|
SDL_DXGIGetOutputInfo() checks input parameters and returns a boolean value whether or not it succeeded.
|
|
6dd9ea8d
|
2014-04-17T21:00:25
|
|
Fixed bug 2496 - mouse left button double click event issue
cplu
When I double click on a window, the "clicks" field (newly added since 2.0.2) in SDL_MouseButtonEvent is 1 instead of 2.
However, when I "tripple" click, "clicks" field is then 2.
I'v look into the source code in SDL_windowsevents.c and found that when a double click event comes, WIN_WindowProc will get a WM_LBUTTONDBLCLK msg. The message sequence of a double click is:WM_LBUTTONDOWN->WM_LBUTTONUP->WM_LBUTTONDBLCLK->WM_LBUTTONUP.
|
|
5a6f4d40
|
2014-04-17T20:51:28
|
|
Fixed bug 2485 - [PATCH] Wayland: cursor disappears permanently after window loses mouse focus
Bryan Cain
Using any SDL application with the Wayland backend under Weston, if the application sets a cursor with SDL_SetCursor, the cursor will work until the mouse pointer leaves the window. When the pointer re-enters the window, there will be no cursor displayed at all.
I did some digging, and the reason for this is that SDL attaches the buffer to the cursor surface only once (during cursor creation) and assumes that it will stay attached. This is not how Wayland works, though - once the compositor is done rendering the buffer, it will release it, so it is no longer attached to the surface. When the cursor re-enters the window a second time, SDL sets the cursor to the same surface with no buffer attached, so no cursor is displayed.
This is fixed by the attached patch, which makes SDL attach the buffer to the surface when the cursor is set, not when it is created.
|
|
59690a4e
|
2014-04-17T20:21:10
|
|
Fixed bug 2482 - Wayland_CreateSystemCursor trying to load nonexistent "wait" cursor
Bryan Cain
Wayland_CreateSystemCursor tries to load a cursor named "wait" for two of the system cursor categories. This causes a segmentation fault when one of these cursors is used, because "wait" is not an actual cursor name in X11/Wayland cursor themes.
I can't attach my patch since I'm on a mobile right now, but I can confirm that simply replacing "wait" with "watch" for both of its uses in Wayland_CreateSystemCursor (in SDL_waylandmouse.c) fixes the bug.
|
|
5439f9dd
|
2014-04-17T20:15:44
|
|
Fixed window losing the SDL_WINDOW_FOREIGN flag if something tries to recreate it.
|
|
2dacb60b
|
2014-04-17T20:06:02
|
|
Fixed bug 2086 - valgrind memory not released
Sylvain
Someone provided a patch for this, recently on the mailing list :
-----
Hi,
it is possible to skip the bug in libX11 by using the defaults for
XNResourceName and XNResourceClass in `XCreateIC' (the table for the
"Input Context Values" [1] in libX11-doc shows that a default is
provided if it is not set).
diff -ur SDL2-2.0.3~/src/video/x11/SDL_x11window.c SDL2-2.0.3/src/video/x11/SDL_x11window.c
--- SDL2-2.0.3~/src/video/x11/SDL_x11window.c 2014-04-04 17:09:40.764307181 +0200
+++ SDL2-2.0.3/src/video/x11/SDL_x11window.c 2014-04-04 17:10:23.887765046 +0200
@@ -239,8 +239,7 @@
data->ic =
X11_XCreateIC(videodata->im, XNClientWindow, w, XNFocusWindow, w,
XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
- XNResourceName, videodata->classname, XNResourceClass,
- videodata->classname, NULL);
+ NULL);
}
#endif
data->created = created;
Tito Latini
[1] http://www.x.org/releases/X11R7.7-RC1/doc/libX11/libX11/libX11.html#Input_Context_Values
|