1
0
forked from aniani/vim

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)
This commit is contained in:
Bram Moolenaar
2021-01-04 10:47:26 +01:00
parent bb0956fc65
commit 82c38fe508
9 changed files with 110 additions and 54 deletions

View File

@@ -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 @@ draw_label(XmEnhancedButtonWidget eb, XEvent *event, Region region)
{
XtExposeProc expose;
XtProcessLock();
XTPROCESS_LOCK;
expose = xmLabelClassRec.core_class.expose;
XtProcessUnlock();
XTPROCESS_UNLOCK;
(*expose)((Widget) eb, event, region);
}
@@ -809,9 +823,9 @@ Enter(Widget wid,
_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 @@ Leave(Widget wid,
{
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 @@ set_size(XmEnhancedButtonWidget newtb)
// 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 @@ Initialize(Widget rq, Widget ebw, ArgList args UNUSED, Cardinal *n UNUSED)
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)