rick@pcrat.uucp (Rick Richardson) (07/18/90)
I just got through trying to determine if I could use the Motif 1.0 libXm.a (as provided by ISC) with the X11R4 libXt.a libX.a et al libraries (as provided by Thomas Roell). I had hoped to be able to provide our Motif applications to those friends that are 'leading the way' by jumping headfirst into X11R4. Plus, the thought of being able to uucp shared lib binaries around (rather than 3/4 MB unshared lib behemoths) is mighty enticing. Unfortunately, the layered look has got a few kinks. To wit, one routine that Motif wants apparently got dropped completely out of libXt in R4. And a bunch of others seem to have not been in the original R3 libXt, but were added later to the R3 libXt specifically for Motif's pleasure: undefined first referenced ISC R3 ISC R3 symbol in file libXt libXt (Motif Ver) _XtGetPerDisplay /usr3/lib/libXm.a Yes Yes XtWidgetCallCallbacks /usr3/lib/libXm.a No Yes XtWidgetHasCallbacks /usr3/lib/libXm.a No Yes XtWidgetOverrideCallback /usr3/lib/libXm.a No Yes _XtFocusMode /usr3/lib/libXm.a No Yes _XtSetFontUnit /usr3/lib/libXm.a No Yes _XtLangExpand /usr3/lib/libXm.a No Yes _XtCheckLangName /usr3/lib/libXm.a No Yes Except for the *Lang* and *Font* routines, most look to be trivial, and easily reverse engineered: XtWidgetOverrideCallback|1876|extern| ( )| 56| 56|.text | XtWidgetCallCallbacks| 1932|extern| ( )| 36| 36|.text | XtWidgetHasCallbacks| 1968|extern| enum( )| 40| 40|.text | _XtGetPerDisplay | 1572|extern| *struct( )| 100| 100|.text | _XtFocusMode | 5776|extern| | | |.data | _XtCheckLangName | 252|extern| char( )| 132| 132|.text | _XtLangExpand | 384|extern| char( )| 756| 756|.text | _XtSetFontUnit | 1404|extern| ( )| 152| 152|.text | Perhaps someone more knowledgeable about X11R4 might be able to point me at R4 equivalents to these routines, or even source code to implement them. Its unlikely that we'll see a PD Motif implementation anytime soon, so I'd like to eliminate the dilemma of having to make a choice between using R3 based Motif or moving on to R4 and not having Motif. -Rick -- Rick Richardson - PC Research, Inc., uunet!pcrat!rick, (201) 389-8963
rlh2@ukc.ac.uk (Richard Hesketh) (07/18/90)
In article <1990Jul18.040054.14112@pcrat.uucp% rick@pcrat.uucp (Rick Richardson) writes:
%I just got through trying to determine if I could use the
%Motif 1.0 libXm.a (as provided by ISC) with the X11R4
%libXt.a libX.a et al libraries (as provided by Thomas Roell).
%Unfortunately, the layered look has got a few kinks. To
%wit, one routine that Motif wants apparently got dropped
%completely out of libXt in R4. And a bunch of others seem
%to have not been in the original R3 libXt, but were added
%later to the R3 libXt specifically for Motif's pleasure:
%
%undefined first referenced ISC R3 ISC R3
% symbol in file libXt libXt (Motif Ver)
%_XtGetPerDisplay /usr3/lib/libXm.a Yes Yes
%XtWidgetCallCallbacks /usr3/lib/libXm.a No Yes
%XtWidgetHasCallbacks /usr3/lib/libXm.a No Yes
%XtWidgetOverrideCallback /usr3/lib/libXm.a No Yes
%_XtFocusMode /usr3/lib/libXm.a No Yes
%_XtSetFontUnit /usr3/lib/libXm.a No Yes
%_XtLangExpand /usr3/lib/libXm.a No Yes
%_XtCheckLangName /usr3/lib/libXm.a No Yes
%Perhaps someone more knowledgeable about X11R4 might be able
%to point me at R4 equivalents to these routines, or even source
%code to implement them.
Looking through the R4 source (my favourite lunchtime treat 8-) I found:
_XtGetPerDisplay defined as a macro in Xt/InitialI.h
XtWidgetCallCallbacks() and XtWidgetHasCallbacks() are renamed to
XtCallCallbacks() and XtHasCallbacks() respectively.
No idea what XtWidgetOverrideCallback() does, from the name of it
it sounds like a combination of XtRemoveCallback & XtAddCallback??
No idea what _XtFocusMode does.
Hope that helps a bit.
Richard
rick@pcrat.uucp (Rick Richardson) (07/19/90)
In article <5132@harrier.ukc.ac.uk> rlh2@ukc.ac.uk (Richard Hesketh) writes: >In article <1990Jul18.040054.14112@pcrat.uucp% rick@pcrat.uucp (Rick Richardson) writes: >%I just got through trying to determine if I could use the >%Motif 1.0 libXm.a (as provided by ISC) with the X11R4 >%libXt.a libX.a et al libraries (as provided by Thomas Roell). >Looking through the R4 source (my favourite lunchtime treat 8-) I found: > XtWidgetCallCallbacks() and XtWidgetHasCallbacks() are renamed to > XtCallCallbacks() and XtHasCallbacks() respectively. I don't think that's it. A disassembly of XtWidgetCallCallbacks, for example, (and not knowing the actual argument types) shows the code is roughly: void XtWidgetCallCallbacks(a1, a2) int *a1; /* No idea what this type is really */ char *a2; { if (a1 == 0) return; XtCallCallbacks((?Widget?) &a1[2], a2); } This code looks suspect as hell to me, yet it compiles to the functional equivalent of what's in the R3 libXt.a. The fact that the third argument to XtCallCallbacks is missing is very strange. Thanks for the 'go at it', though. -Rick -- Rick Richardson - PC Research, Inc., uunet!pcrat!rick, (201) 389-8963