…better reported late than never.
-
Mouse deltas appear to be flipped on the vertical axis in windowed
mode with the mouse ungrabbed, I guess because Quartz uses a
mathematically correct coordinate system and not the standard graphics
type. The proper fix is probably to set newPoint.y = window_height -
newPoint.y in QZ_PrivateCocoaToSDL(), but I’m not sure what the
ramifications of the change are…tweaking p.y in NSMouseMoved’s
"firstMouseEvent" condition definitely fixes this issue, though. -
We’re free()ing a bogus pointer if you hit this chain of events:
- Create a 2D surface.
- Tear it down with a call to SDL_SetVideoMode() that creates an
non-fullscreen SDL_OPENGL surface. - Tear down the OpenGL surface.
surface->pixels wasn’t being reset in the windowed GL codepath. I
put a fix in CVS for this. -
Mouse cursor hidden with SDL_ShowCursor(0) is still visible on a newly
created fullscreen window (OpenGL specific?) until you nudge the mouse,
in which case it goes away. I haven’t looked into it, but I would guess
that the Quartz driver isn’t respecting the previous value of
SDL_ShowCursor() at SDL_SetVideoMode() time, and the mouse is hiding the
cursor when updating APPACTIVE state.
At any rate, this code ‘fixes’ it at the app level:
SDL_SetVideoMode(…, SDL_FULLSCREEN);
SDL_ShowCursor(0);
SDL_ShowCursor(1);
SDL_ShowCursor(0);
Now cursor is definitely hidden.
Darrell, Max, any thoughts?
Thanks,
–ryan.