On Jun 26, 2009, at 03:14, Daniel Stone wrote: > Hi, > > On Fri, Jun 26, 2009 at 03:22:58PM +1000, Peter Hutterer wrote: >> So, to sum up, the two approaches I could come up with can be >> simplified as: >> >> * ABI break >> + cost to clients low >> - ABI break >> >> * API replacement >> + no ABI break >> - cost to clients high >> >> I'd prefer the former, especially in the light of the limited >> number of >> current users. >> >> Comments? > > As much as libX11 is firmly in 'can't ever break it' territory, I > think > this is enough of a special case that the ABI break is worthwhile: > that > approach makes complete sense. The other option is to have static > storage that is only good until the next XNextEvent() call, with the > option of calling XGECopyEvent() or so, at which point the onus is on > you to free it. But I think I prefer your approach.
That would still be a behavioral change... it won't really affect single-threaded apps, but multi-threaded apps will cry if they are not updated. Plus, this kind of behavioral change will be annoying for people to debug since chances are they'll actually get coherent data *most* of the time. I like the first approach. Sure, it breaks the libX11 ABI, but, like Peter mentioned, the only *real* client of XGE at this point is the unreleased XI2. If someone out there happens to be using it that we don't know about (shame on them for being so secretive), the fix is relatively lightweight on their end. _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
