This fixes a bug where relative mode would give a large jump if the
cursor was moved when the app doesn't have focus.
--HG--
extra : histedit_source : ff1b20a9e7f6e079c073c4ef761566b6c80b0f22%2C9879c6c838c69afea4aa2be80cbe137054600d12
By default, synthesizing events supresses real events for a quarter
second. This makes for some wonky behavior.
--HG--
extra : histedit_source : 769156e3eba77c601de006c5aad1cdc1febe1d6c
This isn't working great, so undo it until we can fix it properly to save /
restore mouse positions.
--HG--
extra : histedit_source : d8fe81a1690bd9406df132c325c8dd7c61baec29%2C2243b548ccaec444b2e4bdab04ba67cdf236c4fb
Marcus von Appen
Trying to build SDL 2.x (HG) on Win32 platforms with either VS.NET or MinGW requires one to have the video subsystem and SDL_VIDEO_DRIVER_WINDOWS flag enabled due to the helper window creation routines.
The attached patch changes the helper window creation behaviour, so that one can build SDL2 without the video subsystem or Windows video drivers on Win32 platforms.
Marcus von Appen
If one wants to disable the SDL render subsystem, the build breaks on several platforms due to an empty render_drivers array in SDL_render.c.
This fixes a bug where [NSCursor set] doesn't take when called in
certain event handlers (like windowDidBecomeKey:).
http://bugzilla.libsdl.org/show_bug.cgi?id=1795
--HG--
extra : histedit_source : 3f150addd3b1b7bc6397aba60ccf05f9065ffb8c
This tracks the previous hide/unhide state of the cursor, so we don't
re-hide a hidden cursor.
--HG--
extra : histedit_source : d41e30a604fb9ff0da8fcfdd9ca926618e35c750
There's a limit of one update every 250ms when warping the mouse, and we
can work around that by disassociating the cursor & the mouse before
issuing our warp, then re-associating them.
--HG--
extra : histedit_source : 91ddf6078107ea9faf1c769a459e99bce6e61180
This should hopefully fix bug #1612. We now send mousemotion events when
the cursor enters the window as well as when it leaves.
Thanks to Alex Szpakowski for the fix.
Fixes http://bugzilla.libsdl.org/show_bug.cgi?id=1612
--HG--
extra : histedit_source : e89e8952efcc07da98a306757edeaeded31517a9
makeKeyAndOrderFront: was sending three KVO transitions for isVisible,
for false -> true, true -> false, and then false -> true. This was
causing an infinite recursion.
We now suspend monitoring of the KVO before makeKeyAndOrderFront, then
resume afterwards and send any changes in isVisible's state.
This fixes an issue that would arise when you minimize / order out an
OpenGL window on Mac, where the window would lose it's window device.
Without a window device, you cannot render to the window.
It does so by making two changes:
- Windows are no longer "oneShot" (which caused their window device to
get destroyed when they're minified or ordered out)
- Windows are no longer "deferred" (which caused the OS to defer
window device creation until the window is shown, which meant that
we couldn't properly makeCurrent to it)
Thanks to http://www.mikeash.com/pyblog/nsopenglcontext-and-one-shot.html
This changes the old behavior of having values in the -32768 - 32767
range, like regular joystick axis. Now "button as axis" triggers (like
on Logitech controllers) and regular axis triggers (like on Xbox
controllers) have the same resting value, 0.
This has the benefit of ending the otherwise-bogus complaints that
SDL_GetError() reports "Passed a NULL mutex" if you call it instead of
checking if SDL_CreateWindow() actually succeeded. :)
--HG--
extra : rebase_source : 49ed52691094eab9dd4012bb97f32fbcc678551e