This fixes a segfault when doing callback routines, however there are still 
more I need to work on.

Thank you for your time,
-Chase
From 03bcd6fbb3f91951ab7f797f0d2dfeb11ddbfcd2 Mon Sep 17 00:00:00 2001
From: Chase <nicetry...@protonmail.ch>
Date: Fri, 9 Oct 2020 16:40:50 -0500
Subject: [PATCH] dtkcmds.c: add extra field to discipline functions

---
 cde/programs/dtksh/dtkcmds.c | 24 +++++++++++++++++++++++-
 cde/programs/dtksh/dtkcmds.h | 22 ++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/cde/programs/dtksh/dtkcmds.c b/cde/programs/dtksh/dtkcmds.c
index 976096e7b..fb90a91d3 100644
--- a/cde/programs/dtksh/dtkcmds.c
+++ b/cde/programs/dtksh/dtkcmds.c
@@ -7885,6 +7885,7 @@ Namval_t *
 nopCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    Namval_t * np2;
@@ -7910,6 +7911,7 @@ Namval_t *
 dftCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    Namval_t * np2;
@@ -7948,6 +7950,7 @@ Namval_t *
 ehCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    Namval_t * np2;
@@ -7977,6 +7980,7 @@ Namval_t *
 transCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    Namval_t * np2;
@@ -8005,6 +8009,7 @@ Namval_t *
 scaleCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8043,6 +8048,7 @@ Namval_t *
 arrowCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8089,6 +8095,7 @@ Namval_t *
 comboCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8133,6 +8140,7 @@ Namval_t *
 cmdCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8180,6 +8188,7 @@ Namval_t *
 dAreaCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8218,6 +8227,7 @@ Namval_t *
 dbtnCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8266,6 +8276,7 @@ Namval_t *
 fselCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8343,6 +8354,7 @@ Namval_t *
 listCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8440,6 +8452,7 @@ Namval_t *
 pbtnCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8486,6 +8499,7 @@ Namval_t *
 rcCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8538,6 +8552,7 @@ Namval_t *
 sbarCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8583,6 +8598,7 @@ Namval_t *
 swinCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8623,6 +8639,7 @@ Namval_t *
 sboxCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8670,6 +8687,7 @@ Namval_t *
 tbtnCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8712,6 +8730,7 @@ Namval_t *
 textCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8867,6 +8886,7 @@ Namval_t *
 textCreateDisc2(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -8962,7 +8982,7 @@ textCreateDisc2(
       }
    }
    else
-      np2 = textCreateDisc(np, nameCopy, fp);
+      np2 = textCreateDisc(np, nameCopy, flags, fp);
 
    XtFree(nameCopy);
    XtFree(dupName);
@@ -8977,6 +8997,7 @@ Namval_t *
 helpCreateDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
@@ -9055,6 +9076,7 @@ Namval_t *
 dtPrintSetupProcDisc(
         Namval_t *np,
         char *name,
+	int flags,
         Namfun_t *fp )
 {
    char * cbDataAddrStr;
diff --git a/cde/programs/dtksh/dtkcmds.h b/cde/programs/dtksh/dtkcmds.h
index 9d9d11e3c..6d734bb7a 100644
--- a/cde/programs/dtksh/dtkcmds.h
+++ b/cde/programs/dtksh/dtkcmds.h
@@ -578,90 +578,112 @@ extern void FreeNestedVariables( void ) ;
 extern Namval_t * nopCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * dftCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * ehCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * transCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * scaleCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * arrowCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * comboCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * cmdCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * dAreaCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * dbtnCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * dtPrintSetupProcDisc(
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp);
 extern Namval_t * fselCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * listCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * pbtnCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * rcCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * sbarCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * swinCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * sboxCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * tbtnCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * textCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * textCreateDisc2( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern Namval_t * helpCreateDisc( 
                         Namval_t *np,
                         char *name,
+			int flags,
                         Namfun_t *fp) ;
 extern int * LockKshFileDescriptors( void ) ;
 extern void UnlockKshFileDescriptors( 
-- 
2.17.1

_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to