[PATCH] Fix locking bugs with XIAllowTouchEvents() and XIUngrabTouchBegin()
Jasper St. Pierre
jstpierre at mecheye.net
Fri Jul 11 10:59:54 PDT 2014
On Fri, Jul 11, 2014 at 1:54 PM, <otaylor at redhat.com> wrote:
> From: "Owen W. Taylor" <otaylor at fishsoup.net>
>
> Fix two places where the display was double locked when an API
> function chained to an implementation that also locks the display.
> ---
> src/XIAllowEvents.c | 6 +-----
> src/XIPassiveGrab.c | 1 +
> 2 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/src/XIAllowEvents.c b/src/XIAllowEvents.c
> index c8d997a..b0be6bb 100644
> --- a/src/XIAllowEvents.c
> +++ b/src/XIAllowEvents.c
> @@ -92,11 +92,7 @@ XIAllowTouchEvents(Display *dpy, int deviceid, unsigned
> int touchid,
> LockDisplay(dpy);
> if (_XiCheckExtInit(dpy, XInput_2_2, extinfo) == -1)
> return (NoSuchExtension);
> -
> - status = _XIAllowEvents(dpy, deviceid, event_mode, CurrentTime,
> touchid, grab_window);
> -
> UnlockDisplay(dpy);
> - SyncHandle();
>
> - return status;
> + return _XIAllowEvents(dpy, deviceid, event_mode, CurrentTime,
> touchid, grab_window);
>
Shouldn't you remove the declaration for "status" here?
> }
> diff --git a/src/XIPassiveGrab.c b/src/XIPassiveGrab.c
> index 88f1aff..c743516 100644
> --- a/src/XIPassiveGrab.c
> +++ b/src/XIPassiveGrab.c
> @@ -249,6 +249,7 @@ XIUngrabTouchBegin(Display* display, int deviceid,
> Window grab_window,
> LockDisplay(display);
> if (_XiCheckExtInit(display, XInput_2_2, extinfo) == -1)
> return -1;
> + UnlockDisplay(display);
>
> return _XIPassiveUngrabDevice(display, deviceid,
> XIGrabtypeTouchBegin, 0,
> grab_window, num_modifiers, modifiers);
> --
> 1.9.3
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
--
Jasper
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140711/77ff3039/attachment.html>
More information about the xorg-devel
mailing list