open-src/lib/libXt/6671721.patch
author Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
Mon, 23 Apr 2012 15:08:10 -0700
changeset 1276 52f85727ce94
parent 1072 88d1d779286d
child 1422 e9cadc0026d8
permissions -rw-r--r--
7161868 Update X.Org modules to X11R7.7 RC1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
     1
diff --git a/configure.ac b/configure.ac
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
     2
index d15b326..28185fe 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
     3
--- a/configure.ac
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
     4
+++ b/configure.ac
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
     5
@@ -72,6 +72,7 @@ AC_SUBST(LDFLAGS_FOR_BUILD)
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
     6
 
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
     7
 # Map function checks to old Imake #defines
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
     8
 case $host_os in
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
     9
+	solaris*) ;; # our changes to NextEvent.c break if poll() is used
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    10
 	# darwin through Snow Leopard has poll() but can't be used to poll character devices.
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    11
 	darwin@<:@789@:>@*|darwin10*) ;;
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    12
 	darwin*)
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    13
diff --git a/include/X11/Intrinsic.h b/include/X11/Intrinsic.h
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    14
index d09acad..d30e01f 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    15
--- a/include/X11/Intrinsic.h
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    16
+++ b/include/X11/Intrinsic.h
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
    17
@@ -125,6 +125,7 @@ typedef int		XtCacheType;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    18
 #define			XtCacheAll	  0x002
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    19
 #define			XtCacheByDisplay  0x003
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    20
 #define			XtCacheRefCount	  0x100
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    21
+#define			XtCacheXmRefCount 0x200
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    22
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    23
 /****************************************************************
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    24
  *
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
    25
@@ -253,6 +254,8 @@ typedef void (*XtDestructor)(
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    26
     Cardinal*		/* num_args */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    27
 );
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    28
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    29
+typedef XtPointer (*XtReplicator)(XtPointer);
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    30
+
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    31
 typedef Opaque XtCacheRef;
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    32
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    33
 typedef Opaque XtActionHookId;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
    34
@@ -656,6 +659,17 @@ extern void XtSetTypeConverter(
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    35
     XtDestructor 	/* destructor */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    36
 );
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    37
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    38
+extern void _XtSetTypeConverter(
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    39
+    _Xconst _XtString   /* from_type */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    40
+    _Xconst _XtString   /* to_type */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    41
+    XtTypeConverter     /* converter */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    42
+    XtConvertArgList    /* convert_args */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    43
+    Cardinal            /* num_args */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    44
+    XtCacheType         /* cache_type */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    45
+    XtDestructor        /* destructor */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    46
+    XtReplicator        /* replicator */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    47
+);
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    48
+
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    49
 extern void XtAppSetTypeConverter(
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    50
     XtAppContext 	/* app_context */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    51
     _Xconst _XtString 	/* from_type */,
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    52
diff --git a/src/Convert.c b/src/Convert.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    53
index cea8fd3..265b162 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    54
--- a/src/Convert.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
    55
+++ b/src/Convert.c
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
    56
@@ -87,6 +87,7 @@ typedef struct _ConverterRec {
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    57
     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
    58
     XtTypeConverter	converter;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    59
     XtDestructor	destructor;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    60
+    XtReplicator	replicator;
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    61
     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
    62
     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
    63
     unsigned int	new_style:1;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
    64
@@ -94,11 +95,25 @@ typedef struct _ConverterRec {
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    65
     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
    66
 } ConverterRec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    67
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    68
-#define ConvertArgs(p) ((XtConvertArgList)((p)+1))
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    69
+#define ConvertArgs(p) ((XtConvertArgList)((p)+(ptrdiff_t)1))
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    70
 
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    71
 /* 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
    72
 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
    73
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    74
+static
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    75
+void TableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    76
+    ConverterTable      table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    77
+    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
    78
+    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
    79
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    80
+    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
    81
+    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
    82
+    _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
    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
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    85
+    XtReplicator        replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    86
+    _XtBoolean          global);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    87
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    88
 void _XtSetDefaultConverterTable(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    89
 	ConverterTable *table)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    90
 {
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
    91
@@ -117,13 +132,11 @@ void _XtSetDefaultConverterTable(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    92
 	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
    93
 	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
    94
 	    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
    95
-		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
    96
-		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
    97
-		    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
    98
-	       _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
    99
+		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
   100
+	        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
   101
 				    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
   102
 				    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
   103
-				    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
   104
+				    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
   105
 	    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   106
   	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   107
     }
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   108
@@ -155,10 +168,14 @@ typedef struct _CacheRec {
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   109
     XtPointer	tag;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   110
     int		hash;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   111
     XtTypeConverter converter;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   112
+    XtDestructor destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   113
+    XtReplicator replicator;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   114
+    XtPointer closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   115
     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
   116
     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
   117
     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
   118
     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
   119
+    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
   120
     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
   121
     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
   122
     unsigned int to_is_value:1;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   123
@@ -166,15 +183,7 @@ typedef struct _CacheRec {
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   124
     XrmValue	to;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   125
 } CacheRec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   126
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   127
-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
   128
-    CachePtr	*prev;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   129
-    XtDestructor destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   130
-    XtPointer	 closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   131
-    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
   132
-} CacheRecExt;
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
-#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
   135
-#define CARGS(p) ((p)->has_ext ? (XrmValue *)(CEXT(p)+1) : (XrmValue *)((p)+1))
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   136
+#define CARGS(p) (XrmValue *)((p)+(ptrdiff_t)1)
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   137
 
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   138
 #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
   139
 #define CACHEHASHMASK	255
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   140
@@ -183,6 +192,28 @@ typedef CachePtr CacheHashTable[CACHEHASHSIZE];
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   141
 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
   142
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   143
 void _XtTableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   144
+    ConverterTable      table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   145
+    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
   146
+    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
   147
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   148
+    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
   149
+    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
   150
+    _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
   151
+    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
   152
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   153
+    _XtBoolean          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
+    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
   157
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   158
+    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
   159
+				XtCacheByDisplay | XtCacheRefCount);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   160
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   161
+    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
   162
+			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
   163
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   164
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   165
+void TableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   166
     ConverterTable	table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   167
     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
   168
     XrmRepresentation   to_type,
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   169
@@ -192,6 +223,7 @@ void _XtTableAddConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   170
     _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
   171
     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
   172
     XtDestructor	destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   173
+    XtReplicator        replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   174
     _XtBoolean		global)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   175
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   176
     register ConverterPtr	*pp;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   177
@@ -215,6 +247,7 @@ void _XtTableAddConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   178
     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
   179
     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
   180
     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
   181
+    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
   182
     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
   183
     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
   184
     args = ConvertArgs(p);
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   185
@@ -224,21 +257,21 @@ void _XtTableAddConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   186
     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
   187
     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
   188
 	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
   189
-	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
   190
-	    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
   191
+        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
   192
     } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   193
 	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
   194
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   195
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   196
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   197
-void XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   198
+void _XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   199
     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
   200
     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
   201
-    XtTypeConverter	converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   202
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   203
     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
   204
-    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
   205
-    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
   206
-    XtDestructor	destructor
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   207
+    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
   208
+    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
   209
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   210
+    XtReplicator	replicator
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   211
     )
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   212
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   213
     ProcessContext process;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   214
@@ -253,21 +286,41 @@ void XtSetTypeConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   215
     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
   216
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   217
     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
   218
-	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
   219
-	    __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
   220
+        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
   221
+            __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
   222
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   223
-    _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
   224
-			 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
   225
-			 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
   226
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   227
+    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
   228
+		      	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
   229
+			replicator, True);	
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   230
     while (app) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   231
-	_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
   232
-			     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
   233
-			     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
   234
+	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
   235
+			  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
   236
+			  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
   237
 	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
   238
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   239
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   240
 }
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
+void XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   243
+    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
   244
+    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
   245
+    XtTypeConverter	converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   246
+    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
   247
+    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
   248
+    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
   249
+    XtDestructor	destructor
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
+    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
   253
+  
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   254
+    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
   255
+				XtCacheByDisplay | XtCacheRefCount);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   256
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   257
+    _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
   258
+			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
   259
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   260
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   261
 void XtAppSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   262
     XtAppContext	app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   263
     register _Xconst char* from_type,
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   264
@@ -357,6 +410,7 @@ CacheEnter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   265
     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
   266
     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
   267
     XtDestructor	    destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   268
+    XtReplicator	    replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   269
     XtPointer		    closure)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   270
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   271
     register	CachePtr *pHashEntry;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   272
@@ -366,34 +420,22 @@ CacheEnter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   273
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   274
     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
   275
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   276
-    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
   277
-	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
   278
-					   sizeof(CacheRecExt) +
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
-	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
   281
-	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
   282
-	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
   283
-	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
   284
-	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
   285
-    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   286
-    else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   287
-	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
   288
-					  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
   289
-	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
   290
-    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   291
+    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
   292
+			(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
   293
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   294
     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
   295
 	succeeded = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   296
     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
   297
     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
   298
     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
   299
     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
   300
-    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
   301
-	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
   302
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   303
     *pHashEntry     = p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   304
     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
   305
     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
   306
     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
   307
+    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
   308
+    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
   309
+    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
   310
     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
   311
     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
   312
 	p->from_is_value = True;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   313
@@ -416,14 +458,31 @@ CacheEnter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   314
     if (!succeeded) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   315
 	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
   316
 	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
   317
-    } 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
   318
-	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
   319
-	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
   320
     } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   321
-	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
   322
-	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
   323
-	(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
   324
+        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
   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 ((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
   327
+        	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
   328
+                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
   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
+                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
   331
+                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
   332
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   333
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   334
+        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
   335
+                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
   336
+                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
   337
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   338
+                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
   339
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   340
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   341
+        memmove(dest_ptr, src_ptr, to->size);
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   342
+    }
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   343
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   344
+    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
   345
+	p->ref_count = 1;
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   346
     }
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   347
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   348
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   349
     return p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   350
 }
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   351
@@ -431,32 +490,39 @@ CacheEnter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   352
 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
   353
     XtAppContext app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   354
     CachePtr p,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   355
-    CachePtr *prev)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   356
+    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
   357
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   358
     LOCK_PROCESS;
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->has_ext) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   360
-	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
   361
-	    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
   362
-	    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
   363
-	    XrmValue toc;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   364
-	    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
   365
-		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
   366
-	    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
   367
-	    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
   368
-		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
   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
-		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
   371
-	    (*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
   372
-				    &num_args);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   373
-	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   374
-	*(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
   375
-	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
   376
-	    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
   377
-    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   378
-	*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
   379
-	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
   380
-	    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
   381
+    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
   382
+    	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
   383
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   384
+        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
   385
+        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
   386
+            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
   387
+            	*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
   388
+                break;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   389
+            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   390
+           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
   391
+        }      
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   392
+    }
351
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
+    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
   395
+        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
   396
+        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
   397
+        XrmValue toc;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   398
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   399
+        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
   400
+        	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
   401
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   402
+        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
   403
+        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
   404
+                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
   405
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   406
+                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
   407
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   408
+        (*p->destructor)(app, &toc, p->closure, args, &num_args);
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   409
     }
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   410
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   411
     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
   412
 	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
   413
 	if (!p->from_is_value)
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   414
@@ -480,18 +546,18 @@ void _XtCacheFlushTag(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   415
     XtPointer	tag)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   416
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   417
     int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   418
-    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
   419
     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
   420
+    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
   421
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   422
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   423
     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
   424
-	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
   425
-	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
   426
+	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
   427
+	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
   428
+	    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
   429
 	    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
   430
-		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
   431
-	    else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   432
-		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
   433
+		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
   434
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   435
+	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
   436
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   437
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   438
 }
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   439
@@ -641,7 +707,12 @@ void XtDirectConvert(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   440
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   441
     /* 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
   442
     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
   443
-    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
   444
+    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
   445
+	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
   446
+            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
   447
+        else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   448
+            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
   449
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   450
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   451
     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
   452
 	if ((p->hash == hash)
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   453
@@ -685,7 +756,7 @@ void XtDirectConvert(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   454
     {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   455
 	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
   456
 		   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
   457
-		   (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
   458
+		   (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
   459
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   460
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   461
 }
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   462
@@ -726,6 +797,7 @@ CallConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   463
     int	hash;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   464
     Cardinal i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   465
     Boolean retval;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   466
+    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
   467
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   468
     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
   469
 	XtPointer closure;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   470
@@ -738,7 +810,12 @@ CallConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   471
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   472
     /* 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
   473
     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
   474
-    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
   475
+    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
   476
+	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
   477
+	    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
   478
+	else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   479
+	    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
   480
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   481
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   482
     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
   483
 	for (p = cacheHashTable[hash & CACHEHASHMASK]; p; p = p->next){
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   484
@@ -770,14 +847,18 @@ CallConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   485
 				UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   486
 				return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   487
 			    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   488
-			    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
   489
-			    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
   490
-				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
   491
-					  to->size);
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   492
+			    if (cP->do_ref_count & XtCacheXmRefCount) {
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   493
+				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
   494
+				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
   495
+			    } 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
   496
+				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
   497
 			    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   498
-				(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
   499
-					       (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
   500
+				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
   501
 			    }
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
+			    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
   504
+			    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
   505
+					  to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   506
 			} 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
   507
 			    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
   508
 			    if (p->to_is_value)
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   509
@@ -787,7 +868,7 @@ CallConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   510
 			}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   511
 		    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   512
 		    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
   513
-			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
   514
+			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
   515
 			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
   516
 			    *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
   517
 			else
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   518
@@ -810,7 +891,7 @@ CallConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   519
 	Heap *heap;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   520
 	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
   521
 	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
   522
-	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
   523
+	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
   524
 	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
   525
 	Boolean retval =
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   526
 	    (*(XtTypeConverter)converter)(dpy, args, &num_args, from, to, &closure);
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   527
@@ -823,6 +904,8 @@ CallConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   528
 	    return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   529
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   530
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   531
+	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
   532
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   533
 	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
   534
 	    heap = NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   535
 	    do_free = True;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   536
@@ -834,8 +917,12 @@ CallConverter(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   537
 	else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   538
 	    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
   539
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   540
-	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
   541
-		       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
   542
+        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
   543
+		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
   544
+		       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
   545
+		       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
   546
+	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   547
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   548
 	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
   549
 	    *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
   550
 	else if (cache_ref_return)
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   551
@@ -1061,8 +1148,8 @@ void XtAppReleaseCacheRefs(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   552
     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
   553
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   554
     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
   555
-	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
   556
-	    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
   557
+	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
   558
+	    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
   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
     UNLOCK_PROCESS;
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   562
@@ -1078,7 +1165,6 @@ void XtCallbackReleaseCacheRefList(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   563
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   564
     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
   565
 			   (XtCacheRef*)closure );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   566
-    XtFree(closure);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   567
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   568
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   569
 
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   570
diff --git a/src/Create.c b/src/Create.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   571
index da00192..b756223 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   572
--- a/src/Create.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   573
+++ b/src/Create.c
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   574
@@ -405,8 +405,7 @@ xtCreate(
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   575
     CompileCallbacks(widget);
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   576
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   577
     if (cache_refs != NULL) {
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   578
-	XtAddCallback(widget, XtNdestroyCallback,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   579
-		XtCallbackReleaseCacheRefList, (XtPointer)cache_refs );
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   580
+	XtFree(cache_refs);
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   581
     }
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   582
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   583
     wsize = widget_class->core_class.widget_size;
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   584
diff --git a/src/Display.c b/src/Display.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   585
index 4ccf079..72ed668 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   586
--- a/src/Display.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   587
+++ b/src/Display.c
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   588
@@ -323,12 +323,15 @@ _XtAppInit(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   589
  * 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
   590
  */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   591
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   592
-    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
   593
-	__XtMalloc( (Cardinal)((*argc_in_out + 1) * sizeof(String)) );
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   594
-
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   595
-    for (i = 0 ; i < *argc_in_out ; i++) saved_argv[i] = (*argv_in_out)[i];
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   596
-    saved_argv[i] = NULL;	/* NULL terminate that sucker. */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   597
-
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   598
+    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
   599
+    	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
   600
+		__XtMalloc( (Cardinal)((*argc_in_out + 1) * sizeof(String)) );
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   601
+
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   602
+    	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
   603
+    	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
   604
+    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   605
+	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
   606
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   607
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   608
     *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
   609
 
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   610
diff --git a/src/Event.c b/src/Event.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   611
index 11823d6..7c15e83 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   612
--- a/src/Event.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   613
+++ b/src/Event.c
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   614
@@ -563,6 +563,14 @@ void XtRegisterDrawable(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   615
     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
   616
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   617
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   618
+/* 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
   619
+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
   620
+    Window window;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   621
+    Widget widget;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   622
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   623
+    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
   624
+}
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
 void XtUnregisterDrawable(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   627
     Display* display,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   628
     Drawable drawable)
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   629
@@ -613,6 +621,14 @@ void XtUnregisterDrawable(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   630
     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
   631
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   632
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   633
+/* 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
   634
+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
   635
+    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
   636
+    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
   637
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   638
+    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
   639
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   640
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   641
 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
   642
     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
   643
 {
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   644
diff --git a/src/Geometry.c b/src/Geometry.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   645
index d64c8e2..c8ddbd6 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   646
--- a/src/Geometry.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   647
+++ b/src/Geometry.c
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   648
@@ -330,6 +330,12 @@ _XtMakeGeometryRequest (
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   649
 	} else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   650
 	    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
   651
 	}
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
+	/* 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
   654
+        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
   655
+            (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
   656
+             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
   657
+            return XtGeometryYes;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   658
     }
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
     /*
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   661
diff --git a/src/Initialize.c b/src/Initialize.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   662
index 9783deb..2a5a8a8 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   663
--- a/src/Initialize.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   664
+++ b/src/Initialize.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   665
@@ -473,7 +473,7 @@ static String _XtDefaultLanguageProc(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   666
     if (! XSetLocaleModifiers(""))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   667
 	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
   668
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   669
-    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
   670
+    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
   671
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   672
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   673
 XtLanguageProc XtSetLanguageProc(
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   674
@@ -994,8 +994,13 @@ Widget XtOpenApplication(XtAppContext *app_context_return,
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   675
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   676
     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
   677
     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
   678
-    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
   679
-    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
   680
+    /* 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
   681
+    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
   682
+    	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
   683
+	num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   684
+	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
   685
+	num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   686
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   687
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   688
     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
   689
     num += num_args_in;
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   690
diff --git a/src/Makefile.am b/src/Makefile.am
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   691
index cf54a5c..a786d94 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   692
--- a/src/Makefile.am
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   693
+++ b/src/Makefile.am
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   694
@@ -74,7 +74,8 @@ DISTCLEANFILES = StringDefs.c
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   695
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   696
 libXt_la_LIBADD = @XT_LIBS@
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   697
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   698
-libXt_la_LDFLAGS = -version-number 6:0:0 -no-undefined
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   699
+libXt_la_LDFLAGS = -version-number 4:0:0 -no-undefined \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   700
+	-M $(top_srcdir)/../../mapfile-vers -lc
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   701
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   702
 #
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   703
 # The util directory contains a program that builds some of the sources.
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   704
diff --git a/src/NextEvent.c b/src/NextEvent.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   705
index b1f7bc7..c9b53db 100644
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   706
--- a/src/NextEvent.c
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   707
+++ b/src/NextEvent.c
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   708
@@ -347,6 +347,51 @@ static void AdjustTimes (
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   709
 #endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   710
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   711
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   712
+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
   713
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   714
+   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
   715
+   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
   716
+   Cardinal       nbr_parms;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   717
+
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   718
+   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
   719
+   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
   720
+   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
   721
+   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
   722
+   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
   723
+   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
   724
+   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
   725
+   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
   726
+   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
   727
+   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
   728
+                 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
   729
+                 "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
   730
+                 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
   731
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   732
+   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
   733
+                                             /* zero_time.                    */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   734
+   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
   735
+    {                                        /* 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
   736
+      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
   737
+      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
   738
+                                             /*  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
   739
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   740
+   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
   741
+    {                                        /* 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
   742
+      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
   743
+      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
   744
+       {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   745
+         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
   746
+         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
   747
+         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
   748
+         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
   749
+                       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
   750
+                       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
   751
+         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
   752
+         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
   753
+         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
   754
+       }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   755
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   756
+}
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   757
 
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   758
 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
   759
     wait_times_ptr_t wt,
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   760
@@ -629,20 +674,56 @@ WaitLoop:
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   761
 	    /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   762
 	     *  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
   763
 	     */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   764
-	    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
   765
-		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
   766
-		    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
   767
-		    continue;
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
-	        errno = 0;  /* errno is not self reseting */
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   770
-
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   771
-		/* was it interrupted by a signal that we care about? */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   772
-		if (!ignoreSignals && app->signalQueue != NULL) {
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   773
-		    SignalEventRec *se_ptr = app->signalQueue;
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   774
-		    while (se_ptr != NULL) {
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   775
-			if (se_ptr->se_notice) {
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   776
-			    if (block && howlong != NULL)
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   777
-				AdjustHowLong (howlong, &wt.start_time);
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   778
+            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
   779
+                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
   780
+                continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   781
+            } 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
   782
+                /* 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
   783
+                int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   784
+                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
   785
+                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
   786
+                    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
   787
+                          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
   788
+                        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
   789
+                              == -1) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   790
+                            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
   791
+                            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
   792
+                            Cardinal param_count = 1;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   793
+
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   794
+                            /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   795
+                             * 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
   796
+                             * 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
   797
+                             */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   798
+                            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
   799
+                              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
   800
+                            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   801
+                            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
   802
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   803
+                            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
   804
+                            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
   805
+                                            XtCXtToolkitError,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   806
+                                            "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
   807
+                                            &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
   808
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   809
+                            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
   810
+                            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
   811
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   812
+                          }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   813
+                      }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   814
+                  }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   815
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   816
+                return -1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   817
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   818
+            } 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
   819
+                errno = 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   820
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   821
+                /* 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
   822
+                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
   823
+                    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
   824
+                    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
   825
+                        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
   826
+                            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
   827
+                                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
   828
 #ifdef USE_POLL
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   829
 			    XtStackFree ((XtPointer) wf.fdlist, fdlist);
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   830
 #endif
1072
88d1d779286d 7010623 X11R7.6 Update: Library modules
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 946
diff changeset
   831
@@ -687,17 +768,33 @@ WaitLoop:
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   832
 #endif
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   833
 			nfds = 0;
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   834
 		}
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   835
-	    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   836
-		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
   837
-		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
   838
-		Cardinal param_count = 1;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   839
-
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   840
-		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
   841
-		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
   842
-			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
   843
-			&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
   844
-		continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   845
-	    }
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   846
+            } else if (errno == EINVAL) {       /* (Can be recovered from if    */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   847
+                struct timeval  tv={0};
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   848
+
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   849
+                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
   850
+                                                /* 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
   851
+                                                /* 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
   852
+                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
   853
+                    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
   854
+                        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
   855
+                        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
   856
+                        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
   857
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   858
+                        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
   859
+                        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
   860
+                                      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
   861
+                                      &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
   862
+                        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
   863
+                    } 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
   864
+                                                /* 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
   865
+                        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
   866
+                    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   867
+                } 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
   868
+                                                /* 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
   869
+                    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
   870
+                    continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   871
+                }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   872
+            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   873
 	} /* 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
   874
 	break;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   875
     }
1276
52f85727ce94 7161868 Update X.Org modules to X11R7.7 RC1
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1072
diff changeset
   876
@@ -750,6 +847,33 @@ WaitLoop:
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   877
 #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
   878
     (*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
   879
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   880
+#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
   881
+int _XtwaitForSomething(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   882
+    _XtBoolean ignoreTimers,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   883
+    _XtBoolean ignoreInputs,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   884
+    _XtBoolean ignoreEvents,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   885
+    _XtBoolean block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   886
+    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
   887
+    XtAppContext app)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   888
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   889
+#ifdef XTHREADS
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   890
+/* 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
   891
+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
   892
+            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
   893
+            block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   894
+            TRUE,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   895
+            howlong);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   896
+#else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   897
+/* 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
   898
+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
   899
+            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
   900
+            block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   901
+            howlong);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   902
+#endif
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
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   905
+#endif /* SUNSOFT */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   906
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   907
 /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   908
  * Public Routines
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   909
  */