open-src/lib/libXt/6671721.patch
author Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Fri, 07 Mar 2008 15:38:30 -0800
changeset 354 c5722f7db2ea
parent 351 3e3bd6053a4e
child 442 b06fb0b94957
permissions -rw-r--r--
6671721 Update libXt to opensrc verion 1.0.5 from X.org [build fixes]
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     1
--- src/Makefile.am	Tue Mar  4 16:36:48 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     2
+++ src/Makefile.am	Wed Mar  5 12:44:16 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     3
@@ -74,7 +74,8 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     4
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     5
 libXt_la_LIBADD = @XT_LIBS@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     6
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     7
-libXt_la_LDFLAGS = -version-number 6:0:0 -no-undefined
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     8
+libXt_la_LDFLAGS = -version-number 4:0:0 -no-undefined \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     9
+	-M $(top_srcdir)/../../mapfile-vers
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    10
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    11
 #
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    12
 # The util directory contains a program that builds some of the sources. 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    13
--- configure.ac	Wed Mar  5 10:10:39 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    14
+++ configure.ac	Wed Mar  5 10:33:20 2008
354
c5722f7db2ea 6671721 Update libXt to opensrc verion 1.0.5 from X.org [build fixes]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 351
diff changeset
    15
@@ -43,8 +43,6 @@
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    16
 AC_CHECK_HEADER([alloca.h], AC_DEFINE(INCLUDE_ALLOCA_H, 1, [Define to 1 if Xalloca.h should include <alloca.h>]))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    17
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    18
 # Map function checks to old Imake #defines
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    19
-AC_CHECK_FUNC(poll, AC_DEFINE(USE_POLL,1,
354
c5722f7db2ea 6671721 Update libXt to opensrc verion 1.0.5 from X.org [build fixes]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 351
diff changeset
    20
-        [Define to 1 if you have the `poll' function.]))
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    21
 AC_CHECK_FUNC(snprintf, AC_DEFINE(USE_SNPRINTF,1,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    22
         [Define to 1 if you have the `snprintf' function.]))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    23
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    24
--- src/Create.c	Tue Mar  4 16:36:48 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    25
+++ src/Create.c	Wed Mar  5 09:23:20 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    26
@@ -398,8 +398,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    27
     CompileCallbacks(widget);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    28
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    29
     if (cache_refs != NULL) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    30
-	XtAddCallback(widget, XtNdestroyCallback,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    31
-		XtCallbackReleaseCacheRefList, (XtPointer)cache_refs );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    32
+	XtFree(cache_refs);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    33
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    34
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    35
     wsize = widget_class->core_class.widget_size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    36
--- src/Convert.c	Tue Mar  4 14:47:58 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    37
+++ src/Convert.c	Tue Mar  4 16:09:36 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    38
@@ -73,6 +73,9 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    39
 #define CONVERTHASHMASK	255
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    40
 #define ProcHash(from_type, to_type) (2 * (from_type) + to_type)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    41
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    42
+#define CARGS(p) (XrmValue *)((p)+(ptrdiff_t)1)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    43
+#define ConvertArgs(p) ((XtConvertArgList)((p)+(ptrdiff_t)1))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    44
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    45
 typedef struct _ConverterRec *ConverterPtr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    46
 typedef struct _ConverterRec {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    47
     ConverterPtr	next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    48
@@ -79,6 +82,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    49
     XrmRepresentation	from, to;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    50
     XtTypeConverter	converter;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    51
     XtDestructor	destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    52
+    XtReplicator        replicator;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    53
     unsigned short	num_args;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    54
     unsigned int	do_ref_count:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    55
     unsigned int	new_style:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    56
@@ -86,11 +90,23 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    57
     char		cache_type;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    58
 } ConverterRec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    59
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    60
-#define ConvertArgs(p) ((XtConvertArgList)((p)+1))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    61
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    62
 /* used for old-style type converter cache only */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    63
 static Heap globalHeap = {NULL, NULL, 0};
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    64
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    65
+static
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    66
+void TableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    67
+    ConverterTable      table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    68
+    XrmRepresentation   from_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    69
+    XrmRepresentation   to_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    70
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    71
+    XtConvertArgList    convert_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    72
+    Cardinal            num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    73
+    _XtBoolean          new_style,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    74
+    XtCacheType         cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    75
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    76
+    XtReplicator        replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    77
+    _XtBoolean          global);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    78
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    79
 void _XtSetDefaultConverterTable(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    80
 	ConverterTable *table)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    81
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    82
@@ -109,13 +125,11 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    83
 	XtCacheType cache_type;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    84
 	for (i = CONVERTHASHSIZE; --i >= 0; ) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    85
 	    for (rec = *globalConverterTable++; rec; rec = rec->next) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    86
-		cache_type = rec->cache_type;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    87
-		if (rec->do_ref_count)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    88
-		    cache_type |= XtCacheRefCount;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    89
-	       _XtTableAddConverter(*table, rec->from, rec->to, rec->converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    90
+		cache_type = rec->cache_type | (rec->do_ref_count & 0xff00);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    91
+	        TableAddConverter(*table, rec->from, rec->to, rec->converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    92
 				    ConvertArgs(rec), rec->num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    93
 				    rec->new_style, cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    94
-				    rec->destructor, True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    95
+				    rec->destructor, rec->replicator, True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    96
 	    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    97
   	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    98
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    99
@@ -147,10 +161,14 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   100
     XtPointer	tag;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   101
     int		hash;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   102
     XtTypeConverter converter;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   103
+    XtDestructor destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   104
+    XtReplicator replicator;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   105
+    XtPointer closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   106
     unsigned short num_args;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   107
     unsigned int conversion_succeeded:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   108
     unsigned int has_ext:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   109
     unsigned int is_refcounted:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   110
+    unsigned int ref_count;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   111
     unsigned int must_be_freed:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   112
     unsigned int from_is_value:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   113
     unsigned int to_is_value:1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   114
@@ -158,16 +176,6 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   115
     XrmValue	to;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   116
 } CacheRec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   117
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   118
-typedef struct _CacheRecExt {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   119
-    CachePtr	*prev;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   120
-    XtDestructor destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   121
-    XtPointer	 closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   122
-    long	 ref_count;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   123
-} CacheRecExt;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   124
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   125
-#define CEXT(p) ((CacheRecExt *)((p)+1))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   126
-#define CARGS(p) ((p)->has_ext ? (XrmValue *)(CEXT(p)+1) : (XrmValue *)((p)+1))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   127
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   128
 #define CACHEHASHSIZE	256
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   129
 #define CACHEHASHMASK	255
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   130
 typedef CachePtr CacheHashTable[CACHEHASHSIZE];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   131
@@ -175,6 +183,28 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   132
 static CacheHashTable	cacheHashTable;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   133
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   134
 void _XtTableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   135
+    ConverterTable      table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   136
+    XrmRepresentation   from_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   137
+    XrmRepresentation   to_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   138
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   139
+    XtConvertArgList    convert_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   140
+    Cardinal            num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   141
+    _XtBoolean          new_style,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   142
+    XtCacheType         cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   143
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   144
+    _XtBoolean          global)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   145
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   146
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   147
+    unsigned short	cache_flags;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   148
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   149
+    cache_flags = cache_type & (XtCacheNone | XtCacheAll |
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   150
+				XtCacheByDisplay | XtCacheRefCount);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   151
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   152
+    TableAddConverter(table, from_type, to_type, converter, convert_args, num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   153
+			new_style, cache_type, destructor, 0, global);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   154
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   155
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   156
+void TableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   157
     ConverterTable	table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   158
     XrmRepresentation   from_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   159
     XrmRepresentation   to_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   160
@@ -184,6 +214,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   161
     _XtBoolean		new_style,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   162
     XtCacheType		cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   163
     XtDestructor	destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   164
+    XtReplicator        replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   165
     _XtBoolean		global)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   166
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   167
     register ConverterPtr	*pp;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   168
@@ -207,6 +238,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   169
     p->to	    = to_type;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   170
     p->converter    = converter;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   171
     p->destructor   = destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   172
+    p->replicator   = replicator;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   173
     p->num_args     = num_args;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   174
     p->global       = global;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   175
     args = ConvertArgs(p);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   176
@@ -216,21 +248,21 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   177
     p->do_ref_count = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   178
     if (destructor || (cache_type & 0xff)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   179
 	p->cache_type = cache_type & 0xff;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   180
-	if (cache_type & XtCacheRefCount)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   181
-	    p->do_ref_count = True;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   182
+        p->do_ref_count = cache_type & 0xff00;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   183
     } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   184
 	p->cache_type = XtCacheNone;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   185
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   186
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   187
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   188
-void XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   189
+void _XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   190
     register _Xconst char* from_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   191
     register _Xconst char* to_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   192
-    XtTypeConverter	converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   193
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   194
     XtConvertArgList    convert_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   195
-    Cardinal		num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   196
-    XtCacheType		cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   197
-    XtDestructor	destructor
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   198
+    Cardinal            num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   199
+    XtCacheType         cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   200
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   201
+    XtReplicator	replicator
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   202
     )
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   203
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   204
     ProcessContext process;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   205
@@ -245,21 +277,41 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   206
     to = XrmStringToRepresentation(to_type);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   207
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   208
     if (!process->globalConverterTable) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   209
-	process->globalConverterTable = (ConverterTable)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   210
-	    __XtCalloc(CONVERTHASHSIZE, (unsigned)sizeof(ConverterPtr));
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   211
+        process->globalConverterTable = (ConverterTable)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   212
+            __XtCalloc(CONVERTHASHSIZE, (unsigned)sizeof(ConverterPtr));
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   213
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   214
-    _XtTableAddConverter(process->globalConverterTable, from, to,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   215
-			 converter, convert_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   216
-			 num_args, True, cache_type, destructor, True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   217
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   218
+    TableAddConverter(process->globalConverterTable, from, to, converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   219
+		      	convert_args, num_args, True, cache_type, destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   220
+			replicator, True);	
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   221
     while (app) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   222
-	_XtTableAddConverter(app->converterTable, from, to,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   223
-			     converter, convert_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   224
-			     num_args, True, cache_type, destructor, True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   225
+	TableAddConverter(app->converterTable, from, to, converter, 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   226
+			  convert_args, num_args, True, cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   227
+			  destructor, replicator, True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   228
 	app = app->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   229
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   230
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   231
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   232
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   233
+void XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   234
+    register _Xconst char* from_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   235
+    register _Xconst char* to_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   236
+    XtTypeConverter	converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   237
+    XtConvertArgList    convert_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   238
+    Cardinal		num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   239
+    XtCacheType		cache_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   240
+    XtDestructor	destructor
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   241
+    )
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   242
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   243
+    unsigned short	cache_flags;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   244
+  
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   245
+    cache_flags = cache_type & (XtCacheNone | XtCacheAll |
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   246
+				XtCacheByDisplay | XtCacheRefCount);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   247
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   248
+    _XtSetTypeConverter(from_type, to_type, converter, convert_args, num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   249
+			cache_flags, destructor, 0);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   250
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   251
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   252
 void XtAppSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   253
     XtAppContext	app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   254
     register _Xconst char* from_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   255
@@ -349,6 +401,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   256
     Boolean		    do_ref,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   257
     Boolean		    do_free,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   258
     XtDestructor	    destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   259
+    XtReplicator	    replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   260
     XtPointer		    closure)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   261
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   262
     register	CachePtr *pHashEntry;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   263
@@ -358,21 +411,9 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   264
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   265
     pHashEntry = &cacheHashTable[hash & CACHEHASHMASK];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   266
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   267
-    if ((succeeded && destructor) || do_ref) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   268
-	p = (CachePtr) _XtHeapAlloc(heap, (sizeof(CacheRec) +
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   269
-					   sizeof(CacheRecExt) +
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   270
-					   num_args * sizeof(XrmValue)));
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   271
-	CEXT(p)->prev = pHashEntry;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   272
-	CEXT(p)->destructor = succeeded ? destructor : NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   273
-	CEXT(p)->closure = closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   274
-	CEXT(p)->ref_count = 1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   275
-	p->has_ext = True;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   276
-    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   277
-    else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   278
-	p = (CachePtr)_XtHeapAlloc(heap, (sizeof(CacheRec) +
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   279
-					  num_args * sizeof(XrmValue)));
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   280
-	p->has_ext = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   281
-    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   282
+    p = (CachePtr)_XtHeapAlloc(heap, 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   283
+			(sizeof(CacheRec) + num_args * sizeof(XrmValue)));
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   284
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   285
     if (!to->addr)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   286
 	succeeded = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   287
     p->conversion_succeeded = succeeded;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   288
@@ -379,13 +420,13 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   289
     p->is_refcounted = do_ref;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   290
     p->must_be_freed = do_free;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   291
     p->next	    = *pHashEntry;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   292
-    if (p->next && p->next->has_ext)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   293
-	CEXT(p->next)->prev = &p->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   294
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   295
     *pHashEntry     = p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   296
     p->tag	    = (XtPointer)heap;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   297
     p->hash	    = hash;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   298
     p->converter    = converter;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   299
+    p->destructor = destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   300
+    p->replicator = replicator;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   301
+    p->closure = closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   302
     p->from.size    = from->size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   303
     if (from->size <= sizeof(p->from.addr)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   304
 	p->from_is_value = True;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   305
@@ -408,14 +449,31 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   306
     if (!succeeded) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   307
 	p->to_is_value = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   308
 	p->to.addr = NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   309
-    } else if (to->size <= sizeof(p->to.addr)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   310
-	p->to_is_value = True;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   311
-	XtMemmove(&p->to.addr, to->addr, to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   312
     } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   313
-	p->to_is_value = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   314
-	p->to.addr = (XPointer)_XtHeapAlloc(heap, to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   315
-	(void) memmove((char *)p->to.addr, (char *)to->addr, to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   316
+        XPointer src_ptr, dest_ptr, gptr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   317
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   318
+        if ((size_t)to->size <= sizeof(p->to.addr)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   319
+        	p->to_is_value = True;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   320
+                dest_ptr = (XPointer)&p->to.addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   321
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   322
+                p->to_is_value = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   323
+                dest_ptr = p->to.addr = (XPointer)_XtHeapAlloc(heap, to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   324
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   325
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   326
+        if (do_ref & XtCacheXmRefCount) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   327
+                gptr = (*(p->replicator))(*(XtPointer *)(to->addr));
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   328
+                src_ptr = (XtPointer)&gptr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   329
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   330
+                src_ptr = to->addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   331
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   332
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   333
+        memmove(dest_ptr, src_ptr, to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   334
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   335
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   336
+    if ((succeeded && destructor) || do_ref) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   337
+	p->ref_count = 1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   338
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   339
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   340
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   341
     return p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   342
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   343
@@ -423,32 +481,39 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   344
 static void FreeCacheRec(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   345
     XtAppContext app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   346
     CachePtr p,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   347
-    CachePtr *prev)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   348
+    Boolean clean_table)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   349
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   350
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   351
-    if (p->has_ext) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   352
-	if (CEXT(p)->destructor) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   353
-	    Cardinal num_args = p->num_args;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   354
-	    XrmValue *args = NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   355
-	    XrmValue toc;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   356
-	    if (num_args)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   357
-		args = CARGS(p);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   358
-	    toc.size = p->to.size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   359
-	    if (p->to_is_value)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   360
-		toc.addr = (XPointer)&p->to.addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   361
-	    else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   362
-		toc.addr = p->to.addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   363
-	    (*CEXT(p)->destructor) (app, &toc, CEXT(p)->closure, args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   364
-				    &num_args);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   365
-	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   366
-	*(CEXT(p)->prev) = p->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   367
-	if (p->next && p->next->has_ext)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   368
-	    CEXT(p->next)->prev = CEXT(p)->prev;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   369
-    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   370
-	*prev = p->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   371
-	if (p->next && p->next->has_ext)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   372
-	    CEXT(p->next)->prev = prev;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   373
+    if (clean_table) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   374
+    	CachePtr cachep, *cachepp;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   375
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   376
+        cachepp = &cacheHashTable[p->hash & CACHEHASHMASK];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   377
+        while (cachep = *cachepp) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   378
+            if (p == cachep) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   379
+            	*cachepp = cachep->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   380
+                break;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   381
+            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   382
+           cachepp = &cachep->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   383
+        }      
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   384
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   385
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   386
+    if (p->destructor) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   387
+        Cardinal num_args=p->num_args;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   388
+        XrmValue *args=NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   389
+        XrmValue toc;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   390
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   391
+        if (num_args) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   392
+        	args = CARGS(p);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   393
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   394
+        toc.size = p->to.size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   395
+        if (p->to_is_value) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   396
+                toc.addr = (XPointer)&p->to.addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   397
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   398
+                toc.addr = p->to.addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   399
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   400
+        (*p->destructor)(app, &toc, p->closure, args, &num_args);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   401
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   402
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   403
     if (p->must_be_freed) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   404
 	register int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   405
 	if (!p->from_is_value)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   406
@@ -472,18 +537,18 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   407
     XtPointer	tag)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   408
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   409
     int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   410
-    register CachePtr *prev;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   411
     register CachePtr rec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   412
+    register CachePtr *next_link;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   413
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   414
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   415
     for (i = CACHEHASHSIZE; --i >= 0;) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   416
-	prev = &cacheHashTable[i];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   417
-	while ((rec = *prev)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   418
+	next_link = &cacheHashTable[i];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   419
+	while ((rec = *next_link)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   420
+	    next_link = &rec->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   421
 	    if (rec->tag == tag)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   422
-		FreeCacheRec(app, rec, prev);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   423
-	    else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   424
-		prev = &rec->next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   425
+		FreeCacheRec(app, rec, False);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   426
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   427
+	cacheHashTable[i] = 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   428
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   429
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   430
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   431
@@ -633,7 +698,12 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   432
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   433
     /* Try to find cache entry for conversion */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   434
     hash = ((long) converter >> 2) + from->size + *((char *) from->addr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   435
-    if (from->size > 1) hash += ((char *) from->addr)[1];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   436
+    if (from->size > 1) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   437
+	if (sizeof(long) == 4)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   438
+            hash += ((char *) from->addr)[1];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   439
+        else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   440
+            hash += ((char *) from->addr)[6];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   441
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   442
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   443
     for (p = cacheHashTable[hash & CACHEHASHMASK]; p; p = p->next) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   444
 	if ((p->hash == hash)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   445
@@ -677,7 +747,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   446
     {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   447
 	CacheEnter(&globalHeap, (XtTypeConverter)converter, args, num_args,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   448
 		   from, to, (to->addr != NULL), hash, False, False,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   449
-		   (XtDestructor)NULL, NULL);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   450
+		   (XtDestructor)NULL, NULL, 0);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   451
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   452
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   453
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   454
@@ -718,6 +788,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   455
     int	hash;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   456
     Cardinal i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   457
     Boolean retval;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   458
+    XPointer from_addr, gptr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   459
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   460
     if (!cP || ((cP->cache_type == XtCacheNone) && !cP->destructor)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   461
 	XtPointer closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   462
@@ -730,7 +801,12 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   463
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   464
     /* Try to find cache entry for conversion */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   465
     hash = ((long)(converter) >> 2) + from->size + *((char *) from->addr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   466
-    if (from->size > 1) hash += ((char *) from->addr)[1];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   467
+    if (from->size > 1) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   468
+	if (sizeof(long) == 4)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   469
+	    hash += ((char *) from->addr)[1];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   470
+	else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   471
+	    hash += ((char *) from->addr)[6];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   472
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   473
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   474
     if (cP->cache_type != XtCacheNone) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   475
 	for (p = cacheHashTable[hash & CACHEHASHMASK]; p; p = p->next){
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   476
@@ -762,14 +838,18 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   477
 				UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   478
 				return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   479
 			    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   480
-			    to->size = p->to.size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   481
-			    if (p->to_is_value) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   482
-				XtMemmove(to->addr, &p->to.addr,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   483
-					  to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   484
+                            if (cP->do_ref_count & XtCacheXmRefCount) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   485
+				gptr = (*(p->replicator))(p->to.addr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   486
+				from_addr = (XPointer)&gptr; 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   487
+			    } else if (p->to_is_value) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   488
+				from_addr = (XPointer)&p->to.addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   489
 			    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   490
-				(void) memmove((char *)to->addr,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   491
-					       (char *)p->to.addr, to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   492
+				from_addr = p->to.addr;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   493
 			    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   494
+				
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   495
+			    to->size = p->to.size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   496
+			    memmove((char *)to->addr, from_addr,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   497
+					  to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   498
 			} else {	/* old-style call */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   499
 			    to->size = p->to.size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   500
 			    if (p->to_is_value)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   501
@@ -779,7 +859,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   502
 			}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   503
 		    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   504
 		    if (p->is_refcounted) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   505
-			CEXT(p)->ref_count++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   506
+			p->ref_count++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   507
 			if (cache_ref_return)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   508
 			    *cache_ref_return = (XtCacheRef)p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   509
 			else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   510
@@ -802,7 +882,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   511
 	Heap *heap;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   512
 	XtPointer closure = NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   513
 	unsigned int supplied_size = to->size;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   514
-	Boolean do_ref = cP->do_ref_count && cache_ref_return;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   515
+	unsigned short do_ref;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   516
 	Boolean do_free = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   517
 	Boolean retval =
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   518
 	    (*(XtTypeConverter)converter)(dpy, args, &num_args, from, to, &closure);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   519
@@ -815,6 +895,8 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   520
 	    return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   521
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   522
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   523
+	do_ref = cache_ref_return ? cP->do_ref_count : 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   524
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   525
 	if ((cP->cache_type == XtCacheNone) || do_ref) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   526
 	    heap = NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   527
 	    do_free = True;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   528
@@ -826,8 +908,12 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   529
 	else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   530
 	    heap = &XtDisplayToApplicationContext(dpy)->heap;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   531
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   532
-	p = CacheEnter(heap, converter, args, num_args, from, to, retval,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   533
-		       hash, do_ref, do_free, cP->destructor, closure);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   534
+        if (do_ref || !(cP->do_ref_count & XtCacheXmRefCount)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   535
+		p = CacheEnter(heap, converter, args, num_args, from, to, retval,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   536
+		       hash, do_ref, do_free, cP->destructor, 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   537
+		       cP->replicator, closure);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   538
+	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   539
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   540
 	if (do_ref)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   541
 	    *cache_ref_return = (XtCacheRef)p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   542
 	else if (cache_ref_return)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   543
@@ -1053,8 +1139,8 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   544
     LOCK_APP(app);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   545
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   546
     for (r = (CachePtr*)refs; (p = *r); r++) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   547
-	if (p->is_refcounted && --(CEXT(p)->ref_count) == 0) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   548
-	    FreeCacheRec(app, p, NULL);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   549
+	if (p->is_refcounted && (--p->ref_count) == 0) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   550
+	    FreeCacheRec(app, p, True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   551
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   552
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   553
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   554
@@ -1070,10 +1156,8 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   555
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   556
     XtAppReleaseCacheRefs( XtWidgetToApplicationContext(widget),
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   557
 			   (XtCacheRef*)closure );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   558
-    XtFree(closure);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   559
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   560
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   561
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   562
 /* ARGSUSED */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   563
 void XtCallbackReleaseCacheRef(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   564
     Widget widget,		/* unused */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   565
--- src/Converters.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   566
+++ src/Converters.c	Wed Jan 30 15:39:30 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   567
@@ -1352,7 +1352,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   568
 		  XtNwrongParameters,"cvtIntToPixmap",XtCXtToolkitError,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   569
                   "Integer to Pixmap conversion needs no extra arguments",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   570
                    (String *) NULL, (Cardinal *)NULL);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   571
-    done(Pixmap, *(Pixmap*)fromVal->addr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   572
+    done(Pixmap, *(int*)fromVal->addr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   573
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   574
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   575
 #ifdef MOTIFBC
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   576
--- src/Display.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   577
+++ src/Display.c	Fri Jan 25 22:00:58 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   578
@@ -315,13 +315,16 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   579
  * Save away argv and argc so we can set the properties later
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   580
  */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   581
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   582
-    saved_argv = (String *)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   583
-	__XtMalloc( (Cardinal)((*argc_in_out + 1) * sizeof(String)) );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   584
+    if(*argv_in_out != NULL) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   585
+    	saved_argv = (String *)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   586
+		__XtMalloc( (Cardinal)((*argc_in_out + 1) * sizeof(String)) );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   587
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   588
-    for (i = 0 ; i < *argc_in_out ; i++) saved_argv[i] = (*argv_in_out)[i];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   589
-    saved_argv[i] = NULL;	/* NULL terminate that sucker. */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   590
+    	for (i = 0 ; i < *argc_in_out ; i++) saved_argv[i] = (*argv_in_out)[i];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   591
+    	saved_argv[i] = NULL;	/* NULL terminate that sucker. */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   592
+    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   593
+	saved_argv = NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   594
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   595
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   596
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   597
     *app_context_return = XtCreateApplicationContext();
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   598
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   599
     LOCK_APP((*app_context_return));
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   600
--- src/Event.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   601
+++ src/Event.c	Tue Jan 29 14:32:24 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   602
@@ -555,6 +555,14 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   603
     UNLOCK_APP(app);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   604
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   605
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   606
+/* need this for backward compatability */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   607
+void _XtRegisterWindow(window, widget)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   608
+    Window window;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   609
+    Widget widget;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   610
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   611
+    XtRegisterDrawable(XtDisplay(widget), (Drawable)window, widget);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   612
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   613
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   614
 void XtUnregisterDrawable(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   615
     Display* display,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   616
     Drawable drawable)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   617
@@ -605,6 +613,14 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   618
     UNLOCK_APP(app);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   619
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   620
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   621
+/* need this for backward compatability */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   622
+void _XtUnregisterWindow(window, widget)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   623
+    register Window window;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   624
+    register Widget widget;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   625
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   626
+    XtUnregisterDrawable(XtDisplay(widget), (Drawable)window);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   627
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   628
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   629
 static void ExpandWWTable(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   630
     register WWTable tab)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   631
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   632
--- src/Geometry.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   633
+++ src/Geometry.c	Tue Jan 29 14:53:21 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   634
@@ -322,6 +322,12 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   635
 	} else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   636
 	    returnCode = (*manager)(widget, request, reply);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   637
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   638
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   639
+	/* leob fix for bug 4153816 */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   640
+        if (returnCode == XtGeometryDone && XtIsRealized(widget) &&
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   641
+            (widget->core.width != request->width ||
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   642
+             widget->core.height != request->height) )
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   643
+            return XtGeometryYes;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   644
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   645
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   646
     /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   647
--- src/Initialize.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   648
+++ src/Initialize.c	Wed Jan 30 15:58:32 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   649
@@ -464,7 +464,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   650
     if (! XSetLocaleModifiers(""))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   651
 	XtWarning("X locale modifiers not supported, using default");
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   652
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   653
-    return setlocale(LC_ALL, NULL); /* re-query in case overwritten */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   654
+    return setlocale(LC_CTYPE, NULL); /* re-query in case overwritten */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   655
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   656
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   657
 XtLanguageProc XtSetLanguageProc(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   658
@@ -981,8 +981,13 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   659
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   660
     LOCK_APP(app_con);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   661
     XtSetArg(args[num], XtNscreen, DefaultScreenOfDisplay(dpy)); num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   662
-    XtSetArg(args[num], XtNargc, saved_argc);	                 num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   663
-    XtSetArg(args[num], XtNargv, argv_in_out);	                 num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   664
+    /* only set argc and argv if argv_in_out[0] is not NULL */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   665
+    if (argv_in_out && argv_in_out[0]) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   666
+    	XtSetArg(args[num], XtNargc, saved_argc);	                
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   667
+	num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   668
+	XtSetArg(args[num], XtNargv, argv_in_out);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   669
+	num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   670
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   671
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   672
     merged_args = XtMergeArgLists(args_in, num_args_in, args, num);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   673
     num += num_args_in;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   674
--- src/NextEvent.c	Mon Mar  3 15:20:50 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   675
+++ src/NextEvent.c	Wed Mar  5 10:51:45 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   676
@@ -339,7 +339,52 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   677
 #endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   678
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   679
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   680
+static void CheckAndTrimTimes(XtAppContext app, wait_times_ptr_t wt)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   681
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   682
+   struct timeval tv;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   683
+   String         pptrs[8];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   684
+   Cardinal       nbr_parms;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   685
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   686
+   pptrs[0] = (String)zero_time.tv_sec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   687
+   pptrs[1] = (String)zero_time.tv_usec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   688
+   pptrs[2] = (String)wt->wait_time.tv_sec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   689
+   pptrs[3] = (String)wt->wait_time.tv_usec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   690
+   pptrs[4] = (String)wt->max_wait_time.tv_sec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   691
+   pptrs[5] = (String)wt->max_wait_time.tv_usec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   692
+   pptrs[6] = (String)wt->cur_time.tv_sec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   693
+   pptrs[7] = (String)wt->cur_time.tv_usec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   694
+   nbr_parms = 8;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   695
+   XtAppErrorMsg(app, "communicationError", "select",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   696
+                 XtCXtToolkitError, "Resetting timer values: zero_time=%lu:%lu, "
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   697
+                 "wait_time=%lu:%lu, max_wait_time=%lu:%lu, cur_time=%lu:%lu",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   698
+                 pptrs, &nbr_parms);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   699
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   700
+   memset(&zero_time, 0, sizeof(zero_time)); /* Ensure the integrity of       */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   701
+                                             /* zero_time.                    */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   702
+   if (wt->max_wait_time.tv_sec > 99999999)  /* Bring max_wait_time back into */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   703
+    {                                        /* acceptable range if nec.      */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   704
+      wt->max_wait_time.tv_sec &= 0xFFFFF;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   705
+      wt->max_wait_time.tv_usec = 0;         /* (Fractions of a sec are in-   */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   706
+                                             /*  significant at this level.)  */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   707
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   708
+   if (app->timerQueue != NULL)              /* Do the same for the head of   */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   709
+    {                                        /* the timer queue if necessary. */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   710
+      TIMEDELTA(tv, app->timerQueue->te_timer_value, wt->cur_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   711
+      if (tv.tv_sec > 99999999)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   712
+       {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   713
+         pptrs[0] = (String)app->timerQueue->te_timer_value.tv_sec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   714
+         pptrs[1] = (String)app->timerQueue->te_timer_value.tv_usec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   715
+         nbr_parms = 2;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   716
+         XtAppErrorMsg(app, "selectError", "timerQueue",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   717
+                       XtCXtToolkitError, "timerQueue value %lu:%lu is invalid",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   718
+                       pptrs, &nbr_parms);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   719
+         tv.tv_sec &= 0xFFFFF;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   720
+         tv.tv_usec = 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   721
+         ADD_TIME(app->timerQueue->te_timer_value, wt->cur_time, tv);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   722
+       }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   723
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   724
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   725
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   726
 static int IoWait (
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   727
     wait_times_ptr_t wt,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   728
     wait_fds_ptr_t wf)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   729
@@ -620,75 +665,127 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   730
 	    /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   731
 	     *  interrupt occured recalculate time value and wait again.
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   732
 	     */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   733
-	    if (errno == EINTR || errno == EAGAIN) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   734
-		if (errno == EAGAIN) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   735
-		    errno = 0;  /* errno is not self reseting */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   736
-		    continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   737
-		}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   738
-	        errno = 0;  /* errno is not self reseting */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   739
+            if (errno == EAGAIN) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   740
+                errno = 0;  /* errno is not self reseting */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   741
+                continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   742
+            } else if (errno == EBADF) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   743
+                /* Bug 4482749 - If we have a bad FD stop monitoring it */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   744
+                int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   745
+                struct timeval tv={0};
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   746
+                for (i = 0; i < wf.nfds; i++) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   747
+                    if (FD_ISSET(i, &wf.rmask) || FD_ISSET(i, &wf.wmask) ||
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   748
+                          FD_ISSET(i, &wf.emask)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   749
+                        if (select(i + 1, &wf.rmask, &wf.wmask, &wf.emask, &tv)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   750
+                              == -1) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   751
+                            char     bad_fd[55];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   752
+                            String   param = bad_fd;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   753
+                            Cardinal param_count = 1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   754
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   755
-		/* was it interrupted by a signal that we care about? */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   756
-		if (!ignoreSignals && app->signalQueue != NULL) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   757
-		    SignalEventRec *se_ptr = app->signalQueue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   758
-		    while (se_ptr != NULL) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   759
-			if (se_ptr->se_notice) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   760
-			    if (block && howlong != NULL)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   761
-				AdjustHowLong (howlong, &wt.start_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   762
+                            /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   763
+                             * Get rid of any input procedures on the bad FD
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   764
+                             * and regenerate the list of FDs we listen to.
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   765
+                             */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   766
+                            while (app->input_list[i] != NULL) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   767
+                              XtRemoveInput((XtInputId)app->input_list[i]);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   768
+                            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   769
+                            InitFds (app, ignoreEvents, ignoreInputs, &wf);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   770
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   771
+                            sprintf(bad_fd, "%d", errno);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   772
+                            XtAppWarningMsg(app, "communicationError", "select",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   773
+                                            XtCXtToolkitError,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   774
+                                            "Select failed; error code %s",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   775
+                                            &param, &param_count);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   776
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   777
+                            sprintf(bad_fd, "EBADF error in select() call for file descriptor %d", i);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   778
+                            XtAppWarning(app, param);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   779
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   780
+                          }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   781
+                      }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   782
+                  }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   783
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   784
+                return -1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   785
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   786
+            } else if (errno == EINTR) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   787
+                errno = 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   788
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   789
+                /* was it interrupted by a signal that we care about? */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   790
+                if (!ignoreSignals && app->signalQueue != NULL) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   791
+                    SignalEventRec *se_ptr = app->signalQueue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   792
+                    while (se_ptr != NULL) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   793
+                        if (se_ptr->se_notice) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   794
+                            if (block && howlong != NULL)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   795
+                                AdjustHowLong (howlong, &wt.start_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   796
 #ifdef USE_POLL
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   797
-			    XtStackFree ((XtPointer) wf.fdlist, fdlist);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   798
+                            XtStackFree ((XtPointer) wf.fdlist, fdlist);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   799
 #endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   800
-			    return -1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   801
-			}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   802
-			se_ptr = se_ptr->se_next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   803
-		    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   804
-		}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   805
+                            return -1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   806
+                        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   807
+                        se_ptr = se_ptr->se_next;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   808
+                    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   809
+                }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   810
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   811
-		if (!ignoreEvents)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   812
-		    /* get Xlib to detect a bad connection */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   813
-		    for (dd = 0; dd < app->count; dd++)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   814
-			if (XEventsQueued(app->list[dd], QueuedAfterReading)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   815
-#ifdef USE_POLL
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   816
-			    XtStackFree ((XtPointer) wf.fdlist, fdlist);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   817
+                if (!ignoreEvents)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   818
+                    /* get Xlib to detect a bad connection */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   819
+                    for (dd = 0; dd < app->count; dd++)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   820
+                        if (XEventsQueued(app->list[dd], QueuedAfterReading)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   821
+#if USE_POLL
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   822
+                            XtStackFree ((XtPointer) wf.fdlist, fdlist);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   823
 #endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   824
-			    return dd;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   825
-			}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   826
+                            return dd;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   827
+                        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   828
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   829
-		if (block) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   830
+                if (block) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   831
 #ifndef USE_POLL
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   832
-		    if (wt.wait_time_ptr == NULL)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   833
+                    if (wt.wait_time_ptr == NULL)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   834
 #else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   835
-		    if (wt.poll_wait == X_BLOCK)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   836
+                    if (wt.poll_wait == X_BLOCK)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   837
 #endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   838
-			continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   839
-		    X_GETTIMEOFDAY (&wt.new_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   840
-		    FIXUP_TIMEVAL (wt.new_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   841
-		    TIMEDELTA (wt.time_spent, wt.new_time, wt.cur_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   842
-		    wt.cur_time = wt.new_time;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   843
+                        continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   844
+                    X_GETTIMEOFDAY (&wt.new_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   845
+                    FIXUP_TIMEVAL (wt.new_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   846
+                    TIMEDELTA (wt.time_spent, wt.new_time, wt.cur_time);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   847
+                    wt.cur_time = wt.new_time;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   848
 #ifndef USE_POLL
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   849
-		    if (IS_AFTER (wt.time_spent, *wt.wait_time_ptr)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   850
-			TIMEDELTA (wt.wait_time, *wt.wait_time_ptr, wt.time_spent);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   851
-			wt.wait_time_ptr = &wt.wait_time;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   852
-			continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   853
-		    } else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   854
+                    if (IS_AFTER (wt.time_spent, *wt.wait_time_ptr)) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   855
+                        TIMEDELTA (wt.wait_time, *wt.wait_time_ptr, wt.time_spent);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   856
+                        wt.wait_time_ptr = &wt.wait_time;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   857
+                        continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   858
+                    } else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   859
 #else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   860
-		    if ((wt.time_spent.tv_sec * 1000 + wt.time_spent.tv_usec / 1000) < wt.poll_wait) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   861
-			wt.poll_wait -= (wt.time_spent.tv_sec * 1000 + wt.time_spent.tv_usec / 1000);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   862
-			continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   863
-		    } else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   864
+                    if ((wt.time_spent.tv_sec * 1000 + wt.time_spent.tv_usec / 1000) < wt.poll_wait) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   865
+                        wt.poll_wait -= (wt.time_spent.tv_sec * 1000 + wt.time_spent.tv_usec / 1000);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   866
+                        continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   867
+                    } else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   868
 #endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   869
-			nfds = 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   870
-		}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   871
-	    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   872
-		char Errno[12];
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   873
-		String param = Errno;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   874
-		Cardinal param_count = 1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   875
+                        nfds = 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   876
+                }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   877
+            } else if (errno == EINVAL) {       /* (Can be recovered from if    */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   878
+                struct timeval  tv={0};
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   879
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   880
-		sprintf( Errno, "%d", errno);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   881
-		XtAppWarningMsg(app, "communicationError","select",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   882
-			XtCXtToolkitError,"Select failed; error code %s",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   883
-			&param, &param_count);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   884
-		continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   885
-	    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   886
+                nfds = Select(wf.nfds, &wf.rmask, &wf.wmask, &wf.emask, &tv);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   887
+                                                /* Do a non-blocking select to  */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   888
+                                                /* eliminate any timeout errors.*/
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   889
+                if (nfds == -1) {               /* Now try to sort out the good */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   890
+                    if (errno == EINVAL) {      /* and the bad from the ugly.   */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   891
+                        char    Errno[12];      /* (This is ugly).              */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   892
+                        String  param = Errno;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   893
+                        Cardinal param_count = 1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   894
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   895
+                        sprintf(Errno, "%d", errno);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   896
+                        XtAppErrorMsg(app, "communicationError", "select",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   897
+                                      XtCXtToolkitError, "Select failed; error code %s",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   898
+                                      &param, &param_count);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   899
+                        XtAppError(app, "EINVAL error in select() call");
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   900
+                    } else {                    /* If the new error is not about */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   901
+                                                /* an invalid select() parameter,*/
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   902
+                        continue;               /* then simply try again.        */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   903
+                    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   904
+                } else {                        /* (Else the error appears to be */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   905
+                                                /* in the timeout parameter.)    */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   906
+                    CheckAndTrimTimes(app, &wt);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   907
+                    continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   908
+                }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   909
+            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   910
 	} /* timed out or input available */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   911
 	break;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   912
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   913
@@ -734,6 +831,44 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   914
 #define SeCallProc(ptr) \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   915
     (*ptr->se_proc) (ptr->se_closure, (XtSignalId*)&ptr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   916
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   917
+#ifdef sun /*SUNSOFT */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   918
+#if NeedFunctionPrototypes
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   919
+int _XtwaitForSomething(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   920
+    _XtBoolean ignoreTimers,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   921
+    _XtBoolean ignoreInputs,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   922
+    _XtBoolean ignoreEvents,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   923
+    _XtBoolean block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   924
+    unsigned long *howlong,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   925
+    XtAppContext app)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   926
+#else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   927
+int _XtwaitForSomething(ignoreTimers, ignoreInputs, ignoreEvents,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   928
+                        block, howlong, app)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   929
+        Boolean ignoreTimers;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   930
+        Boolean ignoreInputs;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   931
+        Boolean ignoreEvents;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   932
+        Boolean block;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   933
+        unsigned long *howlong;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   934
+        XtAppContext app;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   935
+#endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   936
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   937
+#ifdef XTHREADS
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   938
+/* fix for bug 4185875 leob */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   939
+return _XtWaitForSomething(app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   940
+            ignoreEvents, ignoreTimers, ignoreInputs, TRUE,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   941
+            block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   942
+            TRUE,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   943
+            howlong);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   944
+#else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   945
+/* fix for bug 4185875 leob */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   946
+return _XtWaitForSomething(app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   947
+            ignoreEvents, ignoreTimers, ignoreInputs, TRUE,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   948
+            block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   949
+            howlong);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   950
+#endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   951
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   952
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   953
+#endif /* SUNSOFT */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   954
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   955
 /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   956
  * Public Routines
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   957
  */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   958
--- include/X11/Intrinsic.h	Tue Mar  4 17:44:05 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   959
+++ include/X11/Intrinsic.h	Tue Mar  4 17:45:20 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   960
@@ -128,6 +128,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   961
 #define			XtCacheAll	  0x002
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   962
 #define			XtCacheByDisplay  0x003
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   963
 #define			XtCacheRefCount	  0x100
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   964
+#define			XtCacheXmRefCount 0x200
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   965
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   966
 /****************************************************************
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   967
  *
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   968
@@ -256,6 +257,8 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   969
     Cardinal*		/* num_args */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   970
 );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   971
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   972
+typedef XtPointer (*XtReplicator)(XtPointer);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   973
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   974
 typedef Opaque XtCacheRef;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   975
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   976
 typedef Opaque XtActionHookId;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   977
@@ -659,6 +662,17 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   978
     XtDestructor 	/* destructor */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   979
 );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   980
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   981
+extern void _XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   982
+    _Xconst _XtString   /* from_type */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   983
+    _Xconst _XtString   /* to_type */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   984
+    XtTypeConverter     /* converter */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   985
+    XtConvertArgList    /* convert_args */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   986
+    Cardinal            /* num_args */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   987
+    XtCacheType         /* cache_type */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   988
+    XtDestructor        /* destructor */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   989
+    XtReplicator        /* replicator */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   990
+);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   991
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   992
 extern void XtAppSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   993
     XtAppContext 	/* app_context */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   994
     _Xconst _XtString 	/* from_type */,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   995
--- include/X11/IntrinsicI.h	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   996
+++ include/X11/IntrinsicI.h	Wed Jan 30 15:12:58 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   997
@@ -120,6 +120,8 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   998
     if ((char *)(dst) != (char *)(src)) {		    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   999
 	if (size == sizeof(int))			    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1000
 	    *((int *) (dst)) = *((int *) (src));	    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1001
+	else if (size == sizeof(long))			    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1002
+	    *((long *) (dst)) = *((long *) (src));          \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1003
 	else if (size == sizeof(char))			    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1004
 	    *((char *) (dst)) = *((char *) (src));	    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1005
 	else if (size == sizeof(short))			    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1006
@@ -131,15 +133,22 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1007
 #define XtBZero(dst, size)				    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1008
     if (size == sizeof(int))				    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1009
 	*((int *) (dst)) = 0;				    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1010
+    else if (size == sizeof(long))			    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1011
+	*((long *)(dst)) = 0;			    	    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1012
     else						    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1013
 	bzero((char *) (dst), (int) (size))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1014
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1015
 #define XtMemcmp(b1, b2, size)				    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1016
-    (size == sizeof(int) ?				    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1017
+	((size == sizeof(int))?				    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1018
 	*((int *) (b1)) != *((int *) (b2))		    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1019
-    :   memcmp((char *) (b1), (char *) (b2), (int) (size))  \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1020
-    )
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1021
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1022
+	:((size == sizeof(short))?  			    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1023
+	*((short *) (b1)) != *((short *) (b2))		    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1024
+	:((size == sizeof(long))?			    \ 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1025
+	*((long *) (b1)) != *((long *) (b2))                \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1026
+	:((size == sizeof(BYTE))?			    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1027
+	*((BYTE *)(b1)) != *((BYTE *)(b2))		    \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1028
+	:memcmp((char *) (b1), (char *) (b2), (int) (size)) \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1029
+	))))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1030
 #else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1031
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1032
 #define XtMemmove(dst, src, size)	\
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1033
--- src/Resources.c	Fri Sep  1 17:56:39 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1034
+++ src/Resources.c	Tue Jan 29 17:04:59 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1035
@@ -937,7 +937,7 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1036
 		    register XtTypedArg* arg = typed_args + typed[j] - 1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1037
 		    register int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1038
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1039
-		    for (i = num_typed_args - typed[j]; i; i--, arg++) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1040
+		    for (i = num_typed_args - typed[j]; i > 0; i--, arg++) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1041
 			*arg = *(arg+1);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1042
 		    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1043
 		    num_typed_args--;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1044
--- src/Shell.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1045
+++ src/Shell.c	Tue Jan 29 17:20:53 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1046
@@ -2475,6 +2475,11 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1047
 		XFree((XPointer)icon_name.value);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1048
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1049
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1050
+    /* fix for bug 1243761 - leob */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1051
+    else if (new->topLevel.iconic != old->topLevel.iconic) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1052
+        if (new->topLevel.iconic)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1053
+            new->wm.wm_hints.initial_state = IconicState;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1054
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1055
     return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1056
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1057
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1058
--- src/TMkey.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1059
+++ src/TMkey.c	Tue Jan 29 17:30:17 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1060
@@ -129,7 +129,10 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1061
 { \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1062
     int _i_ = (((key) - (pd)->min_keycode + modmix[(mod) & 0xff]) & \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1063
 	       (TMKEYCACHESIZE-1)); \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1064
-    if ((key) != 0 && /* Xlib XIM composed input */ \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1065
+    if ((key) == 0) { /* Xlib XIM composed input */ \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1066
+      mod_ret = 0; \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1067
+      sym_ret = 0; \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1068
+    } else if ((key) != 0 && /* Xlib XIM composed input */ \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1069
 	(ctx)->keycache.keycode[_i_] == (key) && \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1070
 	(ctx)->keycache.modifiers[_i_] == (mod)) { \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1071
 	mod_ret = MOD_RETURN(ctx, key); \
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1072
--- src/TMprint.c	Tue Jul 11 11:05:55 2006
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1073
+++ src/TMprint.c	Tue Jan 29 17:48:25 2008
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1074
@@ -729,8 +729,10 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1075
 				widget->core.tm.translations,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1076
 				NULL,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1077
 				True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1078
-    printf("%s\n",xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1079
-    XtFree(xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1080
+    if (xString) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1081
+        printf("%s\n",xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1082
+    	XtFree(xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1083
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1084
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1085
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1086
 /*ARGSUSED*/
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1087
@@ -747,8 +749,10 @@
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1088
 				widget->core.accelerators,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1089
 				NULL,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1090
 				True);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1091
-    printf("%s\n",xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1092
-    XtFree(xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1093
+    if (xString) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1094
+    	printf("%s\n",xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1095
+    	XtFree(xString);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1096
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1097
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1098
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1099
 /*ARGSUSED*/