[comp.windows.x] XtGrabButton problem

bruner@uicsrd.csrd.uiuc.edu (John Bruner) (03/21/90)

I apologize in advance for asking something which has probably been asked
before.  (I'm not a regular reader of this newsgroup.)  If this has come
up before, please respond to me by mail.

The implementation of XtGrabButton in X11R4 (at least, in the one we have
here at CSRD-UIUC) does not agree with the description in the Intrinsics
manual.  Specifically, the calling sequence is given in the manual as

	void XtGrabButton(widget, button, modifiers, owner_events,
			  event_mask, pointer_mode, keyboard_mode,
			  confine_to, cursor)

However, the implementation in "mit/lib/Xt/PassivGrab.c" (no RCS version
number on our copy, sorry) expects "event_mask" to follow "keyboard_mode"
rather than preceeding "pointer_mode".  This looks like an error in
implementation to me, because the documented order is consistent with
XGrabButton.
--
John Bruner	Center for Supercomputing R&D, University of Illinois
	bruner@uicsrd.csrd.uiuc.edu	(217) 244-4476	

swick@ATHENA.MIT.EDU (Ralph R. Swick) (03/22/90)

    This looks like an error in
    implementation to me, because the documented order is consistent with
    XGrabButton.

You are correct.  This is a recently discovered implementation
bug; feel free to make the obvious source change while waiting
for the official patch.

gabe@hpcvlx.cv.hp.com (Gabe Begeddov) (03/22/90)

    (/ hpcvlx:comp.windows.x / bruner@uicsrd.csrd.uiuc.edu (John Bruner) /  7:20 am  Mar 21, 1990 /

    The implementation of XtGrabButton in X11R4 (at least, in the one we have
    here at CSRD-UIUC) does not agree with the description in the Intrinsics
    manual.  Specifically, the calling sequence is given in the manual as

The spec is correct and the implementation is off. Checking the interfaces for 
spec conformance fell between the cracks when this code was added during late
beta. The bug was made obvious to us when we ported the motif library to R4 
(via a protocol error :-). 

It has been reported to MIT and will hopefully make it 
into the public patches at some point. If you are not using synchrounous
grabs and/or the Xt focus mechanism then you shouldn't be impacted by not using 
the Xt wrappers for the X grab interfaces.
    --
    John Bruner	Center for Supercomputing R&D, University of Illinois
    	bruner@uicsrd.csrd.uiuc.edu	(217) 244-4476	
    ----------

Gabe Beged-Dov
HP Interface Technology Operation
gabe@hp.cv.com