[PATCH 18/21] dix: move delivery stop condition out of event mask

Chase Douglas chase.douglas at canonical.com
Sun Dec 11 21:49:51 PST 2011


On 12/08/2011 07:36 PM, Peter Hutterer wrote:
> Previously, this was only called if there was a mask match, so even if we
> had a no-propagate flag set or a stopAt window specified, if no mask
> triggered on the window we would recurse up to the root window and
> eventually deliver.
> Move this, so that the stopAt and do-not-propagate mask is honoured.
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>  dix/events.c |   11 ++++++-----
>  1 files changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/dix/events.c b/dix/events.c
> index 9fcd447..05590e2 100644
> --- a/dix/events.c
> +++ b/dix/events.c
> @@ -2693,12 +2693,13 @@ DeliverDeviceEvents(WindowPtr pWin, InternalEvent *event, GrabPtr grab,
>                      break;
>              }
>  
> -            if ((deliveries < 0) || (pWin == stopAt) ||
> +        }
> +
> +        if ((deliveries < 0) || (pWin == stopAt) ||
>                  (mask & EVENT_DONT_PROPAGATE_MASK))

This line ^^ needs to be de-indented as well. It will make the diff more
comprehensible too :).

With that change:

Reviewed-by: Chase Douglas <chase.douglas at canonical.com>


More information about the xorg-devel mailing list