[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg-devel
Subject: [PATCH] dix: Properly detect if the other device is frozen
From: peter.hutterer () who-t ! net (Peter Hutterer)
Date: 2009-10-28 23:34:44
Message-ID: 20091028233442.GA13320 () barra ! bne ! redhat ! com
[Download RAW message or body]
On Tue, Oct 27, 2009 at 06:03:08PM -0700, Jeremy Huddleston wrote:
> othersFrozen was getting unset. We should detect if it should be set
> to true rather than setting it false for a device that isn't frozen
>
> Signed-off-by: Jeremy Huddleston <jeremyhu at freedesktop.org>
> ---
> dix/events.c | 8 +++-----
> 1 files changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/dix/events.c b/dix/events.c
> index d070a4c..015c2b1 100644
> --- a/dix/events.c
> +++ b/dix/events.c
> @@ -1673,7 +1673,7 @@ AllowSome(ClientPtr client,
> thisGrabbed = grabinfo->grab && SameClient(grabinfo->grab,
> client);
> thisSynced = FALSE;
> otherGrabbed = FALSE;
> - othersFrozen = TRUE;
> + othersFrozen = FALSE;
> grabTime = grabinfo->grabTime;
> for (dev = inputInfo.devices; dev; dev = dev->next)
> {
> @@ -1689,11 +1689,9 @@ AllowSome(ClientPtr client,
> otherGrabbed = TRUE;
> if (grabinfo->sync.other == devgrabinfo->grab)
> thisSynced = TRUE;
> - if (devgrabinfo->sync.state < FROZEN)
> - othersFrozen = FALSE;
> + if (devgrabinfo->sync.state >= FROZEN)
> + othersFrozen = TRUE;
> }
> - else if (!devgrabinfo->sync.other || !SameClient(devgrabinfo->sync.other,
> client))
> - othersFrozen = FALSE;
> }
> if (!((thisGrabbed && grabinfo->sync.state >= FROZEN) ||
> thisSynced))
> return;
> --
> 1.6.5.1
I looked at this patch and I can't see any reason why that shouldn't
work. I'll leave it running on my box for a while to see if it does
anything bad, grab syncing is...complicated.
Cheers,
Peter
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic