[comp.windows.x] event mask to XGrabPointer et al.

aperez@caribe.uucp (Arturo Perez x6739) (12/22/89)

From article <8912182057.AA05745@expire.lcs.mit.edu>, by rws@EXPO.LCS.MIT.EDU (Bob Scheifler):
> 
>     calls to XGrabPointer() with an event mask of -1, which caused a
>     problem with the Sony R3 server (invalid argument).
> 
> That actually makes it a post-R3 server, then. :-)  This is a typical
> bug in R3 clients that will cause them to lose against strict R4 servers.
> 
>     Is -1 a special value meaning "all events that apply",
> 
> -1 is not treated special by the server.  The set of legal bits for the
> event mask in an XGrabPointer is defined in the protocol specification
> for GrabPointer (page 379 in the DP book) as SETofPOINTEREVENT.  This
> set is given on page 349.  Bit encodings are shown on page 545.

There, unfortunately, doesn't seem to be any include files that have
this entity (i.e. SETofPOINTEREVENT) defined.

Actually, I had found this bug in xlock (it happens to be one of the
most popular programs around here) and substituted 

#define ALL_POINTER_EVENTS (ButtonPressMask|ButtonReleaseMask|PointerMotionMask|
PointerMotionHintMask|Button1MotionMask|Button2MotionMask|Button3MotionMask|Butt
on4MotionMask|Button5MotionMask|ButtonMotionMask)

I presume that this is the complete set?

Oh, BTW, there seem to be a lot of programs suffering from
X Error:  BadCursor
  Request Major code 1 ()
  Request Minor code 0
  ResourceID 0xfd880ee0
  Error Serial #3
  Current Serial #14

And why do I get a protocol error when specifying a font directory without
a fonts.dir file?



Arturo Perez
ComputerVision, a division of Prime
aperez@cvbnet.prime.com
Too much information, like a bullet through my brain -- The Police

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (12/22/89)

    There, unfortunately, doesn't seem to be any include files that have
    this entity (i.e. SETofPOINTEREVENT) defined.

We're talking C here, remember. :-)

    And why do I get a protocol error when specifying a font directory without
    a fonts.dir file?

Errors generated by SetFontPath are implementation dependent.  The R4
sample server chooses to generate an error if you specify a directory
that has neither a fonts.dir or a fonts.alias file; the existence of
one of these files, in a parsable format, is the "definition" of a
good font path element in the sample server.

klee@chico.pa.dec.com (Ken Lee) (12/23/89)

In article <292@cvbnet.Prime.COM>, aperez@caribe.uucp (Arturo Perez
x6739) writes:
> #define ALL_POINTER_EVENTS
(ButtonPressMask|ButtonReleaseMask|PointerMotionMask|
>
PointerMotionHintMask|Button1MotionMask|Button2MotionMask|Button3MotionM
ask|Butt
> on4MotionMask|Button5MotionMask|ButtonMotionMask)
> 
> I presume that this is the complete set?

You missed EnterWindow, LeaveWindow, and KeymapState.  The list is on
p. 349 of the Digital Press book and in the protocol manual on the
X11R3 tape.

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

pcolby@cello (Peter Colby bldg 4-1) (12/28/89)

In article <292@cvbnet.Prime.COM>, aperez@caribe (Arturo Perez x6739) writes:
>
>Oh, BTW, there seem to be a lot of programs suffering from
>X Error:  BadCursor
>  Request Major code 1 ()
>  Request Minor code 0
>  ResourceID 0xfd880ee0
>  Error Serial #3
>  Current Serial #14
>
        This is an easy one (at least for me). BadCursor is a protocol
error from XCreateWindow or XCreateSimpleWindow. What is probably
happening is that the window attributes mask argument specifies CWCursor
but that the actual .cursor element of the attributes structure is
not being initialized before the call.
        The appropriate solution in this case is to
#include <X11/cursorfont.h> and then set
<WindowAttributes>.cursor = XCreateFontCursor(display,cursor_shape) where
cursor_shape is one of the cursor type constants defines in cursorfont.h.
The <WindowAtributes> structure is the last argument passed to
XCreateWindow, the attributes mask is the next to last argument.
        Peter Colby

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
UUCP: {sun,decvax,linus}!cvbnet!pcolby ||| "We has met the enemy and he is us."
UUCP: pcolby@robbie.prime.com          |||                           Pogo
CSNET: pcolby@robbie.prime.com         |||