diff -up Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c.orig Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c --- Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c.orig 2003-02-10 18:22:26.000000000 +0100 +++ Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c 2008-10-06 10:07:46.000000000 +0200 @@ -1087,7 +1087,11 @@ static void NotifyThumb (w, event, param Cardinal *num_params; /* unused */ { register ScrollbarWidget sbw = (ScrollbarWidget) w; - float top = sbw->scrollbar.top; + union { + XtPointer pt; + float top; + } foo; + foo.top = sbw->scrollbar.top; #ifndef XAW_ARROW_SCROLLBARS if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */ @@ -1116,10 +1120,10 @@ static void NotifyThumb (w, event, param /* Removed the dependancy on scrollbar arrows. Xterm as distributed in X11R6.6 by The XFree86 Project wants this correction, with or without the arrows. */ - top += 0.0001; + foo.top += 0.0001; /* #endif */ - XtCallCallbacks (w, XtNthumbProc, *(XtPointer*)&top); - XtCallCallbacks (w, XtNjumpProc, (XtPointer)&top); + XtCallCallbacks (w, XtNthumbProc, foo.pt); + XtCallCallbacks (w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top); }