Thanks, problem fixed. And yeah, there were a few more places where similar
changes were
needed.
The identity of the fix in the repository is
bd34993b7eba4f200ebb0f7bb90178a80282a54d
> [EMAIL PROTECTED] - Fri Dec 15 20:24:19 2006]:
>
> Hi,
>
> ctwm 3.7 crashes on startup on 64-bit sparcs. The backtrace is:
>
> #0 0x000000004136a16c in _XData32 () from
> /usr/X11R6/lib/libX11.so.6
> #1 0x0000000041390a84 in XChangeProperty () from
> /usr/X11R6/lib/libX11.so.6
> #2 0x0000000000141ea8 in InitGnome () at gnome.c:70
> #3 0x00000000001105cc in main (argc=<value optimized out>,
>
> This is the because the variable `curws' that is passed to
> XChangeProperty()
> is an int not a long. The X code deferences the variable as a long
> and on
> a 64-bit sparc this must be aligned on an 8-byte boundary. Because it
> is
> an int, it is aligned on a 4-byte boundary, causing a bus error.
>
> Also, the manual page for XChangeProperty says:
>
> "If the specified format is 32, the property data must be a long
> array."
>
> The fix is trivial and is appended.
>
> I haven't checked for any other similar errors.
>
> Thanks,
>
> J
>
> - - 8< - - - - - - - - - - - - - Cut here - - - - - - - - - - - - -
> >8 - -
> --- gnome.c.dist 2005-06-21 05:35:19.000000000 +0000
> +++ gnome.c 2006-12-15 11:24:46.000000000 +0000
> @@ -23,7 +23,7 @@
>
>
> void InitGnome (void) {
> - int curws = 1;
> + long curws = 1;
> virtualScreen *vs;
> Atom _XA_WIN_SUPPORTING_WM_CHECK, _XA_WIN_PROTOCOLS,
> _XA_WIN_PROTOCOLS_LIST[PROTOCOLS_COUNT],
> _XA_WIN_DESKTOP_BUTTON_PROXY;
> - - 8< - - - - - - - - - - - - - Cut here - - - - - - - - - - - - -
> >8 - -
>
>
>
--
--
Richard Levitte [EMAIL PROTECTED]
http://richard.levitte.org/
"When I became a man I put away childish things, including
the fear of childishness and the desire to be very grown up."
-- C.S. Lewis