Mercurial > hg > xemacs-beta
changeset 1455:449cf6dc2025
[xemacs-hg @ 2003-05-04 02:34:34 by youngs]
2003-04-05 Martin Buchholz <martin@xemacs.org>
* EmacsFrameP.h (EmacsFramePart):
Kludge to allow compiling with Motif1, but linking with Motif2.
author | youngs |
---|---|
date | Sun, 04 May 2003 02:34:35 +0000 |
parents | 38d0f093d818 |
children | 7a864bb03183 |
files | src/ChangeLog src/EmacsFrameP.h |
diffstat | 2 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sun May 04 01:04:41 2003 +0000 +++ b/src/ChangeLog Sun May 04 02:34:35 2003 +0000 @@ -1,3 +1,8 @@ +2003-04-05 Martin Buchholz <martin@xemacs.org> + + * EmacsFrameP.h (EmacsFramePart): + Kludge to allow compiling with Motif1, but linking with Motif2. + 2003-05-04 Robert Pluim <rpluim@bigfoot.com> * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
--- a/src/EmacsFrameP.h Sun May 04 01:04:41 2003 +0000 +++ b/src/EmacsFrameP.h Sun May 04 02:34:35 2003 +0000 @@ -32,6 +32,31 @@ #include "EmacsFrame.h" typedef struct { + +#ifdef LWLIB_USES_MOTIF +#if XmVERSION < 2 + /* It's easy to erroneously compile with Motif 1 headers, but link + with Motif 2 libraries. + + For example, AIX stupidly provides Motif headers in + /usr/dt/include, but fails to provide the corresponding libraries + in /usr/dt/lib. + + We actually try to survive such a version mismatch, since Motif 2 + is _almost_ binary compatible with Motif 1. Motif 2's + XmPrimitivePart has some trailing data members which overlay the + start of this struct. We create dummy members to make space for + XmPrimitivePart's added members. These must, of course, be at + the beginning of this struct. + + Delete this kludge when no one has Motif1 on their system anymore, + perhaps in 2010. */ + XtCallbackList Motif2_dummy_convert_callback; + XtCallbackList Motif2_dummy_popup_handler_callback; + long Motif2_dummy_layout_direction; +#endif +#endif + struct frame* frame; /* the *emacs* frame object */ /* Resources that can't be done from lisp.