220c8232ff
and don't pass abuse-cast int to XtPointer. pval@ says it works.
122 lines
3.4 KiB
Plaintext
122 lines
3.4 KiB
Plaintext
$OpenBSD: patch-SelFile_c,v 1.1 2002/04/26 01:44:08 espie Exp $
|
|
--- SelFile.c.orig Sat Jul 24 04:29:12 1993
|
|
+++ SelFile.c Fri Apr 26 02:40:34 2002
|
|
@@ -46,7 +46,6 @@
|
|
/* BSD 4.3 errno.h does not declare errno */
|
|
extern int errno;
|
|
extern int sys_nerr;
|
|
-extern char *sys_errlist[];
|
|
|
|
#include <sys/param.h>
|
|
#include <X11/cursorfont.h>
|
|
@@ -61,6 +60,7 @@ extern char *sys_errlist[];
|
|
#include <X11/Xaw/Cardinals.h>
|
|
|
|
#include "SFinternal.h"
|
|
+#include "gv.h"
|
|
|
|
#ifndef MAXPATHLEN
|
|
#define MAXPATHLEN 1024
|
|
@@ -127,6 +127,11 @@ char SFtextBuffer[MAXPATHLEN];
|
|
|
|
XtIntervalId SFdirModTimerId;
|
|
|
|
+void SFpositionWidget(Widget);
|
|
+FILE *SFopenFile(char *, char *, char *, char *);
|
|
+FILE *XsraSelFile(Widget, char *, char *, char *, char *, char *, char *,
|
|
+ int (*)(), char **);
|
|
+
|
|
int (*SFfunc)();
|
|
|
|
static char *oneLineTextEditTranslations = "\
|
|
@@ -146,7 +151,7 @@ SFexposeList(w, n, event, cont)
|
|
return;
|
|
}
|
|
|
|
- SFdrawList(n, SF_DO_NOT_SCROLL);
|
|
+ SFdrawList(*((int *)n), SF_DO_NOT_SCROLL);
|
|
}
|
|
|
|
/* ARGSUSED */
|
|
@@ -407,7 +412,10 @@ SFcreateWidgets(toplevel, prompt, ok, ca
|
|
compositeWidgetClass, selFileForm, arglist, i);
|
|
|
|
for (n = 0; n < 3; n++) {
|
|
+ int *box;
|
|
|
|
+ box = XtNew(int);
|
|
+ *box = n;
|
|
i = 0;
|
|
XtSetArg(arglist[i], XtNx, vScrollX); i++;
|
|
XtSetArg(arglist[i], XtNy, vScrollY); i++;
|
|
@@ -418,9 +426,9 @@ SFcreateWidgets(toplevel, prompt, ok, ca
|
|
scrollbarWidgetClass, selFileLists[n], arglist, i);
|
|
|
|
XtAddCallback(selFileVScrolls[n], XtNjumpProc,
|
|
- SFvFloatSliderMovedCallback, (XtPointer) n);
|
|
+ SFvFloatSliderMovedCallback, (XtPointer) box);
|
|
XtAddCallback(selFileVScrolls[n], XtNscrollProc,
|
|
- SFvAreaSelectedCallback, (XtPointer) n);
|
|
+ SFvAreaSelectedCallback, (XtPointer) box);
|
|
|
|
i = 0;
|
|
|
|
@@ -435,9 +443,9 @@ SFcreateWidgets(toplevel, prompt, ok, ca
|
|
scrollbarWidgetClass, selFileLists[n], arglist, i);
|
|
|
|
XtAddCallback(selFileHScrolls[n], XtNjumpProc,
|
|
- SFhSliderMovedCallback, (XtPointer) n);
|
|
+ SFhSliderMovedCallback, (XtPointer) box);
|
|
XtAddCallback(selFileHScrolls[n], XtNscrollProc,
|
|
- SFhAreaSelectedCallback, (XtPointer) n);
|
|
+ SFhAreaSelectedCallback, (XtPointer) box);
|
|
}
|
|
|
|
i = 0;
|
|
@@ -495,18 +503,22 @@ SFcreateWidgets(toplevel, prompt, ok, ca
|
|
XDefineCursor(SFdisplay, XtWindow(selFileCancel), dotCursor);
|
|
|
|
for (n = 0; n < 3; n++) {
|
|
+ int *box;
|
|
+
|
|
+ box = XtNew(int);
|
|
+ *box = n;
|
|
XtAddEventHandler(selFileLists[n], ExposureMask, True,
|
|
- SFexposeList, (XtPointer) n);
|
|
+ SFexposeList, (XtPointer) box);
|
|
XtAddEventHandler(selFileLists[n], EnterWindowMask, False,
|
|
- SFenterList, (XtPointer) n);
|
|
+ SFenterList, (XtPointer) box);
|
|
XtAddEventHandler(selFileLists[n], LeaveWindowMask, False,
|
|
- SFleaveList, (XtPointer) n);
|
|
+ SFleaveList, (XtPointer) box);
|
|
XtAddEventHandler(selFileLists[n], PointerMotionMask, False,
|
|
- SFmotionList, (XtPointer) n);
|
|
+ SFmotionList, (XtPointer) box);
|
|
XtAddEventHandler(selFileLists[n], ButtonPressMask, False,
|
|
- SFbuttonPressList, (XtPointer) n);
|
|
+ SFbuttonPressList, (XtPointer) box);
|
|
XtAddEventHandler(selFileLists[n], ButtonReleaseMask, False,
|
|
- SFbuttonReleaseList, (XtPointer) n);
|
|
+ SFbuttonReleaseList, (XtPointer) box);
|
|
}
|
|
|
|
XtAddEventHandler(selFileField, KeyPressMask, False,
|
|
@@ -588,6 +600,7 @@ SFopenFile(name, mode, prompt, failed)
|
|
return fp;
|
|
}
|
|
|
|
+void
|
|
SFtextChanged()
|
|
{
|
|
|
|
@@ -617,7 +630,7 @@ SFgetText()
|
|
SFtextBuffer);
|
|
}
|
|
|
|
-static
|
|
+static void
|
|
SFprepareToReturn()
|
|
{
|
|
SFstatus = SEL_FILE_NULL;
|