tech-x11 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: X server bug?



>> I've been building an X interface library [...].  One of the things
>> it does is to eliminate the way Xlib uses protocol values for all
>> the API defines.
> So you want type checking between things that devolve into an int, so
> are indistinguishable.

Yes, intdistinguishable. :-)

> Linux kernel has this problem too.  *rust* :-)

Yes, if I were interested in switching langauges (for this I'm not),
there are various ways I could get both.  Even with C I could get the
type-checking (just wrap a struct around it, using different struct
tags for different things), but that (a) complicates application code
(which needs to use a semantically pointless field name) and (b) breaks
using the (typed) API constants as case labels.

>> 0x2000001a is LX_PIXMAP_None, which is the API value representing
>> None as a pixmap [].  I obviously neglected to add code to map
>> LX_PIXMAP_None in the clip-mask setting to 0 on the wire [...]

This was actually semi-wrong; I wrote it before looking at the details.

I had LX_GCCLIPMASK_None, which was being handled correctly.  In light
of this and thinking about it more, I decided LX_PIXMAP_None made more
sense there, so I have now eliminated LX_GCCLIPMASK_None, with
LX_PIXMAP_None being mapped to 0 the way LX_GCCLIPMASK_None used to be.

Obviously, this depended on not having lots of users yet. :-)

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index