Well, I finally got xgrass to compile and link on our DG AViiON running
ALONZO H KELLY
FFLAK at acad3.alaska.edu
Tue Nov 23 15:34:26 EST 1993
X11R5. Seems to work OK, but the Help menu on the display tool does not
work. Other help menus do work, but it makes me suspicious of the fix I
made to xgrass/libes/Xgi/Help.c shown below.
$ diff Help.c Help.c.old
1033c1033
< /* extern XtCallbackList _XtGetCallbackList(); */
---
> extern XtCallbackList _XtGetCallbackList();
1039,1044d1038
< XtCallbackList cblist;
<
< XtVaGetValues (widget, name, &cblist, NULL);
< return (cblist);
<
< /* commented out because _XtGetcallbackList() is not available on
AViiON
1048d1041
< */
In addition to avoiding the call to _XtGetCallbackList(), I made the
following adjustments:
add #include <Xm/ManagerP.h> to Matrix.c, Caption.c, Interact.c
add #include <Xm/PrimitiveP.h> to Clip.c, Interact.c
define MAX in Help.c
define Max and Min in Matrix.c
add #define XmSCROLL_BAR_BIT XmSCROLLBAR_BIT to help.c
add a library: -lgen
edit xdigit/Gmakefile to put -lgen after -lXm
The following is the response I got to my earlier question regarding
_XtGetcallbackList(). It _does_ look like xgrass uses a lot of private
functions and
structures for something that is supposed to be portable.
Group comp.windows.x.intrinsics available: 2061 - 2078 unread: 16
article 2078 18-NOV-1993 17:11:18.50
fflak at acad3.alaska.edu (kelly alonzo h) writes:
>I'm having trouble with an external reference in an X program I'm trying
>to port to a new platform. The reference is to a function:
>_XtGetCallbackList
>which I don't find in any of my libraries or Xt docs or headers. This
>looks like a private function, which probably shouldn't be called by
>an application directly, but there it is in the code. It appears to return
>the callback list for a particular widget.
Right. While I empathize with your predicament, let me take this opportunity
to emphasize that application and widget writers must not use Xt private
functions for just this reason. These functions can and do go away from
release to release, and even in patches. DON'T use them.
>There should be a workaround
>involving working through the Widget structure or using higher level
>functions to accomplish this;
yes, use:
XtCallbackList cb_list;
XtVaGetValues (widget, XtN<callbacklistname>, &cb_list, NULL);
--
Kaleb Keithley
X Consortium
End article 2078 action:
Lon Kelly
fflak at acad3.alaska.edu
More information about the grass-dev
mailing list