SteamOS compositor 1.10 with mouse fixes for Superbrothers and scaled

cursors.
This commit is contained in:
Pierre-Loup Griffais 2013-11-12 19:13:46 -08:00 committed by Pierre-Loup A. Griffais
parent ec4e10d3f6
commit 1fc30b7e60
2 changed files with 17 additions and 1 deletions

7
debian/changelog vendored
View file

@ -1,3 +1,10 @@
steamos-compositor (1.10) alchemist; urgency=low
* Monitor mouse input of the child window the legacy SDL1.2 fullscreen.
* Clamp fake cursor image.
-- Pierre-Loup A. Griffais <pgriffais@valvesoftware.com> Tue, 12 Nov 2013 18:45:37 -0800
steamos-compositor (1.9) alchemist; urgency=low
* Add SDL_image dependency for loadargbcursor.

View file

@ -503,6 +503,9 @@ paint_fake_cursor (Display *dpy, win *w)
glBindTexture(GL_TEXTURE_2D, cursorTextureName);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, cursorWidth, cursorHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, cursorDataBuffer);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
XFree(im);
cursorImageDirty = False;
@ -1222,6 +1225,9 @@ get_size_hints(Display *dpy, win *w)
XMoveWindow(dpy, children[0], 0, 0);
w->ignoreOverrideRedirect = True;
// Look for mouse motion in that child while we're at it.
XSelectInput(dpy, children[0], PointerMotionMask);
}
}
@ -2062,7 +2068,9 @@ main (int argc, char **argv)
}
break;
case MotionNotify:
if (ev.xmotion.window == currentFocusWindow)
{
win * w = find_win(dpy, ev.xmotion.window);
if (w->id == currentFocusWindow)
{
// Some stuff likes to warp in-place
if (cursorX == ev.xmotion.x && cursorY == ev.xmotion.y)
@ -2090,6 +2098,7 @@ main (int argc, char **argv)
apply_cursor_state(dpy);
}
break;
}
default:
if (ev.type == damage_event + XDamageNotify)
{