SteamOS compositor 1.10 with mouse fixes for Superbrothers and scaled
cursors.
This commit is contained in:
parent
ec4e10d3f6
commit
1fc30b7e60
2 changed files with 17 additions and 1 deletions
7
debian/changelog
vendored
7
debian/changelog
vendored
|
@ -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
|
steamos-compositor (1.9) alchemist; urgency=low
|
||||||
|
|
||||||
* Add SDL_image dependency for loadargbcursor.
|
* Add SDL_image dependency for loadargbcursor.
|
||||||
|
|
|
@ -503,6 +503,9 @@ paint_fake_cursor (Display *dpy, win *w)
|
||||||
glBindTexture(GL_TEXTURE_2D, cursorTextureName);
|
glBindTexture(GL_TEXTURE_2D, cursorTextureName);
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, cursorWidth, cursorHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, cursorDataBuffer);
|
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);
|
XFree(im);
|
||||||
|
|
||||||
cursorImageDirty = False;
|
cursorImageDirty = False;
|
||||||
|
@ -1222,6 +1225,9 @@ get_size_hints(Display *dpy, win *w)
|
||||||
XMoveWindow(dpy, children[0], 0, 0);
|
XMoveWindow(dpy, children[0], 0, 0);
|
||||||
|
|
||||||
w->ignoreOverrideRedirect = True;
|
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;
|
break;
|
||||||
case MotionNotify:
|
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
|
// Some stuff likes to warp in-place
|
||||||
if (cursorX == ev.xmotion.x && cursorY == ev.xmotion.y)
|
if (cursorX == ev.xmotion.x && cursorY == ev.xmotion.y)
|
||||||
|
@ -2090,6 +2098,7 @@ main (int argc, char **argv)
|
||||||
apply_cursor_state(dpy);
|
apply_cursor_state(dpy);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
if (ev.type == damage_event + XDamageNotify)
|
if (ev.type == damage_event + XDamageNotify)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue