[comp.windows.x] Another problem with X11R4

james@apollo.gl.pitt.edu (03/16/90)

	I can't get xlock to work under X11R4.  It worked fine under X11R3,
but when I recompiled it from the user contributed software it gives me the
following error.  


X Error of failed request:  BadValue (integer parameter out of range for operati
on)
  Major opcode of failed request:  26 (X_GrabPointer)
  Minor opcode of failed request:  0
  Resource id in failed request:  0xffff
  Serial number of failed request:  33
  Current serial number in output stream:  33

Could someone please explain what exactly this error means
and what all thie opcode and resourse ids mean, so that I can fix this error.


	Thank you,
	  Douglas James
	  Advanced Graphics Lab
	  University of Pittsburgh

klee@wsl.dec.com (Ken Lee) (03/16/90)

In article <7174@pitt.UUCP>, james@apollo.gl.pitt.edu writes:
> X Error of failed request:  BadValue (integer parameter out of range for
> operation)
>   Major opcode of failed request:  26 (X_GrabPointer)
>   Resource id in failed request:  0xffff

This is the infamous bogus event mask problem.  The GrabPointer
protocol request requires a mask of valid pointer events.  Many X
servers, including the X11R4 sample servers, strictly (and correctly)
bounce requests with masks specifying invalid events.  Some X servers,
including the X11R3 sample servers, are not so strict.  Some old
clients, like the one you have, specify shotgun masks of 0xffff (i.e.,
any possible events) which bomb on strict servers.  You can correct
this problem by replacing the 0xffff mask, sometimes specified as
(unsigned long)(-1), with a mask containing all the valid pointer
events (listed on the top of page 349 in the DP book).  As a temporary
workaround, the X11R4 sample servers have a bug-compatibility option 
to accept the bogus masks, but many correct servers will not have
this option.  Fix your clients.

Ken Lee
DEC Western Software Laboratory, Palo Alto, Calif.
Internet: klee@wsl.dec.com
uucp: uunet!decwrl!klee