We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 1826

Summary: Cursor confinement with grabbing and relative mode on Windows
Product: SDL Reporter: norfanin
Component: eventsAssignee: Sam Lantinga <slouken>
Status: NEW --- QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2 Keywords: target-2.0.0
Version: HG 2.0   
Hardware: x86   
OS: Windows (All)   

Description norfanin 2013-04-26 10:45:22 UTC
The window grabbing and the relative mouse mode both use the ClipCursor function on Windows to confine the cursor inside the window. However, they don't seem to pay attention what's already set and override each other's settings.

For example, when both are enabled and then the relative mode gets disabled, the cursor can move around freely again and the SDL API still reports 1 for the window grabbing.


There's another small issue with the relative mode that releases the confinement. When the relative mode is enabled and the focus is changed to something else (with alt-tab or the Windows key), then the attempt of moving the SDL window at the title bar causes the cursor to warp to a new position immediately after the dragging starts. Except the sudden jump of the cursor, positioning the window is possible as expected, but after dropping the window, the cursor confinement is gone and no SDL_WINDOWEVENT_ENTER events are fired again until a button is pressed over the window. Cursor confinement works after a normal focus cycle again.
Comment 1 Ryan C. Gordon 2013-07-12 22:15:41 UTC
(Sorry if you get a lot of copies of this email, we're touching dozens of bug reports right now.)

Tagging a bunch of bugs as target-2.0.0, Priority 2.

This means we're in the final stretch for an official SDL 2.0.0 release! These are the bugs we really want to fix before shipping if humanly possible.

That being said, we don't promise to fix them because of this tag, we just want to make sure we don't forget to deal with them before we bless a final 2.0.0 release, and generally be organized about what we're aiming to ship.

Hopefully you'll hear more about this bug soon. If you have more information (including "this got fixed at some point, nevermind"), we would love to have you come add more information to the bug report when you have a moment.

Thanks!
--ryan.