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.