On Tue, Apr 01, 2014 at 12:10:09AM -0700, Keith Packard wrote: > Kristian Høgsberg <k...@bitplanet.net> writes: > > > +static WindowPtr > > +xwl_xy_to_window(DeviceIntPtr master, SpritePtr sprite, int x, int y) > > With my previous adjustment to leave the existing public XYToWindow API > unchanged, xwl_xy_to_window will need to figure out which pointer device > the sprite is associated with. Here's a patch which should "obviously" > be correct; it should be easy to reduce this to a single pass over the > input devices though.
Indeed, I'll send out a v2 of the Wayland DDX patch. Kristian > diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c > index 452789f..99ae5bd 100644 > --- a/hw/xwayland/xwayland-input.c > +++ b/hw/xwayland/xwayland-input.c > @@ -599,10 +599,15 @@ DDXRingBell(int volume, int pitch, int duration) > } > > static WindowPtr > -xwl_xy_to_window(DeviceIntPtr master, SpritePtr sprite, int x, int y) > +xwl_xy_to_window(ScreenPtr screen, SpritePtr sprite, int x, int y) > { > struct xwl_seat *xwl_seat = NULL; > DeviceIntPtr device; > + DeviceIntPtr master; > + > + for (master = inputInfo.devices; master; master = master->next) > + if (master->spriteInfo && master->spriteInfo->sprite == sprite) > + break; > > for (device = inputInfo.devices; device; device = device->next) > if (GetMaster(device, MASTER_ATTACHED) == master) { > > -- > keith.pack...@intel.com _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel