https://bugs.kde.org/show_bug.cgi?id=377901

--- Comment #13 from Martin Gräßlin <mgraess...@kde.org> ---
> I would _expect_ that XCB wouldn't do something that runs contrary to the
> xlib documentation's definition of basic datatypes, such as timestamps.
> Maybe you've gotten bitten by just such an incompatibility, though?

Unfortunately yes. Recent case: https://phabricator.kde.org/D5549

Also there are differences in the library. E.g. Xlib is older than 64 bit, so
some parts which are in the protocol defined as int32 are set to long in Xlib,
which results in nice incompatible code on 64 bit. So yeah it doesn't match 1:1
and in these aspects doesn't match the X protocol. That's why I don't trust the
XLib library any more for interaction with X.

Anyway I checked the x protocol and timestamp is a card32 which would support
the description of XLib. Unfortunately the x protocol doesn't talk about how
timestamps are intended to be.

> 
> > Also a spec is one thing, the other is how the one and only
> > X-Server behaves.
> 
> True, but I expect a few things to be true
> * xlib's description of how timestamp rollover is handled in the X server is
> how it's intended to be handled.
> * The x.org developers working on the parts of the server that handle
> timestamps aren't careless noobs, so xorg's handling of timestamp rollover
> is going to match the described behavior.
> 
> > Long story short: I don't trust any x documentation.
> 
> That's not an entirely unreasonable stance to have. But, if you can't easily
> test to check whether the documented behavior matches the implemented
> behavior, isn't it more pragmatic to code as if the documented behavior is
> true, and rely on user bug reports (supported by "The implemented behavior
> didn't match the docs!" prints in the code, where practical) to let you know
> when the implementation doesn't match the docs? :)

well I would like to fix it for good and not have to wait for the next bug fix
release + 50 days to figure out whether it worked ;-)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to