# HG changeset patch # User youngs # Date 1052015675 0 # Node ID 449cf6dc2025b6930e67f55cbb644024e75fa3e0 # Parent 38d0f093d8183b925ca696770061af0984b2bb0d [xemacs-hg @ 2003-05-04 02:34:34 by youngs] 2003-04-05 Martin Buchholz * EmacsFrameP.h (EmacsFramePart): Kludge to allow compiling with Motif1, but linking with Motif2. diff -r 38d0f093d818 -r 449cf6dc2025 src/ChangeLog --- 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 + + * EmacsFrameP.h (EmacsFramePart): + Kludge to allow compiling with Motif1, but linking with Motif2. + 2003-05-04 Robert Pluim * database.c: Don't use the u_int8_t etc typedefs on FreeBSD, diff -r 38d0f093d818 -r 449cf6dc2025 src/EmacsFrameP.h --- 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.