patch 8.2.2294: VMS: a few remaining problems
Problem: VMS: a few remaining problems.
Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy)
diff --git a/src/gui_xmebw.c b/src/gui_xmebw.c
index 6a01a71..2c66db1 100644
--- a/src/gui_xmebw.c
+++ b/src/gui_xmebw.c
@@ -69,6 +69,20 @@
_XmDrawHighlight(a, b, c, d, e, f, g, h, LineSolid)
#endif
+// Older VMS systems do not have xos_r.h and cannot haldle XtProcessLocking
+#if defined(VMS)
+# if defined(HAVE_XOS_R_H)
+# define XTPROCESS_LOCK XtProcessLock()
+# define XTPROCESS_UNLOCK XtProcessUnlock()
+# else
+# define XTPROCESS_LOCK
+# define XTPROCESS_UNLOCK
+# endif
+#else
+# define XTPROCESS_LOCK XtProcessLock()
+# define XTPROCESS_UNLOCK XtProcessUnlock()
+#endif
+
/*
* Motif internals we have to cheat around with.
*/
@@ -714,9 +728,9 @@
{
XtExposeProc expose;
- XtProcessLock();
+ XTPROCESS_LOCK;
expose = xmLabelClassRec.core_class.expose;
- XtProcessUnlock();
+ XTPROCESS_UNLOCK;
(*expose)((Widget) eb, event, region);
}
@@ -809,9 +823,9 @@
_XmPrimitiveEnter((Widget) eb, event, NULL, NULL);
if (eb->pushbutton.armed == TRUE)
{
- XtProcessLock();
+ XTPROCESS_LOCK;
expose = XtClass(eb)->core_class.expose;
- XtProcessUnlock();
+ XTPROCESS_UNLOCK;
(*expose) (wid, event, (Region) NULL);
}
@@ -887,9 +901,9 @@
{
XtExposeProc expose;
eb->pushbutton.armed = FALSE;
- XtProcessLock();
+ XTPROCESS_LOCK;
expose = XtClass(eb)->core_class.expose;
- XtProcessUnlock();
+ XTPROCESS_UNLOCK;
(*expose) (wid, event, (Region)NULL);
draw_unhighlight(eb);
draw_pixmap(eb, event, NULL);
@@ -973,9 +987,9 @@
// Invoke Label's Resize procedure.
{
XtWidgetProc resize;
- XtProcessLock();
+ XTPROCESS_LOCK;
resize = xmLabelClassRec.core_class.resize;
- XtProcessUnlock();
+ XTPROCESS_UNLOCK;
(* resize) ((Widget) newtb);
}
@@ -988,9 +1002,9 @@
XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)ebw;
XtWidgetProc resize;
- XtProcessLock();
+ XTPROCESS_LOCK;
resize = xmLabelClassRec.core_class.resize;
- XtProcessUnlock();
+ XTPROCESS_UNLOCK;
// Create a bitmap for stippling (Drawable resources are cheap).
if (STIPPLE_BITMAP == None)