From: Thomas L. <ta...@ec...> - 2005-05-03 16:50:50
|
On Tue, 03 May 2005 14:07:21 +0200, Guido Schimmels wrote: > On Mon, 2 May 2005 18:17:28 +0100 > Tony Houghton <h...@re...> wrote: > >> This fixes some nasty problems I had with OroboROX since I upgraded to >> amd64, and hopefully makes it 64-bit safe. It was quite tricky to work >> out how to fix it, because although some types have changed to 64-bit >> (most importantly, Window), it only started working correctly when I >> kept 32 as the format for XChangeProperty etc, but actually used arrays >> of 64-bit values. That's what metacity seems to do as well. FWIW I'm >> fairly sure this effectively doesn't change anything for 32-bit >> architectures, so even if I've missed a 64-bit fix, it's safe to apply >> for 32-bit arch's. > > Applied, thanks! > Replacing CARD32 with Window when it's actually a Window is save, no concern. > > This part is was a bit surprising at first: > - CARD32 xy[2] = { x, y }; > + long xy[2] = { x, y }; > XChangeProperty(dpy, w, a, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) xy, 2); I don't think that can be right. sizeof(long) depends on the architecture of the machine running the window manager. Clients would see different values depending on where the window manager was run from! -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |