[PATCH xserver] Xi: when creating a new master device, update barries for all clients

Peter Hutterer peter.hutterer at who-t.net
Tue Nov 29 02:58:01 UTC 2016


On Fri, Nov 11, 2016 at 03:33:26PM +1000, Peter Hutterer wrote:
> The previous code only worked when the barrier was created by the same client
> as the one calling XIChangeDeviceHierarchy.
> 
> http://bugzilla.redhat.com/show_bug.cgi?id=1384432
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

ping? anyone up for a review?

Cheers,
   Peter

> ---
>  Xi/xichangehierarchy.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c
> index 8d5b577..f2b7785 100644
> --- a/Xi/xichangehierarchy.c
> +++ b/Xi/xichangehierarchy.c
> @@ -194,7 +194,8 @@ add_master(ClientPtr client, xXIAddMasterInfo * c, int flags[MAXDEVICES])
>      flags[XTestptr->id] |= XISlaveAttached;
>      flags[XTestkeybd->id] |= XISlaveAttached;
>  
> -    XIBarrierNewMasterDevice(client, ptr->id);
> +    for (int i = 0; i < currentMaxClients; i++)
> +        XIBarrierNewMasterDevice(clients[i], ptr->id);
>  
>   unwind:
>      free(name);
> @@ -300,7 +301,8 @@ remove_master(ClientPtr client, xXIRemoveMasterInfo * r, int flags[MAXDEVICES])
>          }
>      }
>  
> -    XIBarrierRemoveMasterDevice(client, ptr->id);
> +    for (int i = 0; i < currentMaxClients; i++)
> +        XIBarrierRemoveMasterDevice(clients[i], ptr->id);
>  
>      /* disable the remove the devices, XTest devices must be done first
>         else the sprites they rely on will be destroyed  */
> -- 
> 2.9.3
> 


More information about the xorg-devel mailing list