On Mon, Jun 28, 2010 at 10:30:24PM -0700, Keith Packard wrote: > On Tue, 29 Jun 2010 14:05:52 +1000, Peter Hutterer <[email protected]> > wrote: > > > + > > +/* Merge the lockedPtrButtons from all attached SDs for the given master > > + * device into the MD's state. > > + */ > > +void > > +XkbMergeLockedPtrBtns(DeviceIntPtr master) > > +{ > > + DeviceIntPtr d = inputInfo.devices; > > + XkbSrvInfoPtr xkbi = NULL; > > + > > + if (!master->key) > > + return; > > + > > + xkbi = master->key->xkbInfo; > > + > > + for (; d; d = d->next) { > > + if (IsMaster(d) || GetMaster(d, MASTER_KEYBOARD) != master || > > !d->key) > > + continue; > > + > > + xkbi->lockedPtrButtons |= d->key->xkbInfo->lockedPtrButtons; > > + } > > +} > > Should this function set xkbi->lockedPtrButtons to 0 before looping over > the devices? Otherwise, it seems like this function is misnamed (not > that I understand what the code is doing...)
I don't think it would have any effect, positive or negative. As it stands, the MD's bit is cleared in the caller already. Thus in the cases where xkbi->lockedPtrButtons isn't already 0, at least one SD should still have the bit set and the bit comes back here. So if it makes the code more obvious, I can put it in. Alternatively, I can name it XkbMergeInLockedPtrBtns, if that expresses the actual workings better. Or whatever else you can come up with that's more expressive. Cheers, Peter _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
