open-src/lib/libXt/6671721.patch
author Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
Tue, 04 May 2010 15:58:18 -0700
changeset 946 c4381a29a60a
parent 761 9a43833314f0
child 1072 88d1d779286d
permissions -rw-r--r--
6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
     1
diff -urp -x '*~' -x '*.orig' configure.ac configure.ac
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
     2
--- configure.ac	2010-03-15 14:58:44.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
     3
+++ configure.ac	2010-05-03 16:59:58.639038681 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
     4
@@ -63,6 +63,7 @@ AC_CHECK_HEADER([alloca.h], AC_DEFINE(IN
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
     5
 case $host_os in
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
     6
 	# darwin has poll() but can't be used to poll character devices (atleast through SnowLeopard)
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
     7
 	darwin*) ;;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
     8
+	solaris*) ;; # our changes to NextEvent.c break if poll() is used
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
     9
 	*)
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    10
 		AC_CHECK_FUNC(poll, AC_DEFINE(USE_POLL,1,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    11
 	        	[Define to 1 if you have the "poll" function.]))
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    12
diff -urp -x '*~' -x '*.orig' include/X11/Intrinsic.h include/X11/Intrinsic.h
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
    13
--- include/X11/Intrinsic.h	2009-09-10 01:56:41.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
    14
+++ include/X11/Intrinsic.h	2010-05-03 16:59:58.639779286 -0700
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    15
@@ -128,6 +128,7 @@ typedef int		XtCacheType;
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    16
 #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
    17
 #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
    18
 #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
    19
+#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
    20
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    21
 /****************************************************************
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    22
  *
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    23
@@ -256,6 +257,8 @@ typedef void (*XtDestructor)(
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    24
     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
    25
 );
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    26
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    27
+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
    28
+
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    29
 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
    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 XtActionHookId;
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    32
@@ -659,6 +662,17 @@ 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
    33
     XtDestructor 	/* destructor */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    34
 );
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    35
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    36
+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
    37
+    _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
    38
+    _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
    39
+    XtTypeConverter     /* converter */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    40
+    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
    41
+    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
    42
+    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
    43
+    XtDestructor        /* destructor */,
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    44
+    XtReplicator        /* replicator */
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    45
+);
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    46
+
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    47
 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
    48
     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
    49
     _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
    50
diff -urp -x '*~' -x '*.orig' include/X11/IntrinsicI.h include/X11/IntrinsicI.h
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
    51
--- include/X11/IntrinsicI.h	2009-09-10 01:56:41.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
    52
+++ include/X11/IntrinsicI.h	2010-05-03 16:59:58.640048253 -0700
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    53
@@ -120,6 +120,8 @@ SOFTWARE.
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    54
     if ((char *)(dst) != (char *)(src)) {		    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    55
 	if (size == sizeof(int))			    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    56
 	    *((int *) (dst)) = *((int *) (src));	    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    57
+	else if (size == sizeof(long))			    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    58
+	    *((long *) (dst)) = *((long *) (src));          \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    59
 	else if (size == sizeof(char))			    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    60
 	    *((char *) (dst)) = *((char *) (src));	    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    61
 	else if (size == sizeof(short))			    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    62
@@ -131,15 +133,22 @@ SOFTWARE.
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    63
 #define XtBZero(dst, size)				    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    64
     if (size == sizeof(int))				    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    65
 	*((int *) (dst)) = 0;				    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    66
+    else if (size == sizeof(long))			    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    67
+	*((long *)(dst)) = 0;			    	    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    68
     else						    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    69
 	bzero((char *) (dst), (int) (size))
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    70
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    71
 #define XtMemcmp(b1, b2, size)				    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    72
-    (size == sizeof(int) ?				    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    73
+    ((size == sizeof(int)) ?				    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    74
 	*((int *) (b1)) != *((int *) (b2))		    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    75
-    :   memcmp((char *) (b1), (char *) (b2), (int) (size))  \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    76
-    )
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    77
-
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    78
+	:((size == sizeof(short))?  			    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    79
+	*((short *) (b1)) != *((short *) (b2))		    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    80
+	:((size == sizeof(long))?			    \ 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    81
+	*((long *) (b1)) != *((long *) (b2))                \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    82
+	:((size == sizeof(BYTE))?			    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    83
+	*((BYTE *)(b1)) != *((BYTE *)(b2))		    \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    84
+	:memcmp((char *) (b1), (char *) (b2), (int) (size)) \
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    85
+	))))
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    86
 #else
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    87
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    88
 #define XtMemmove(dst, src, size)	\
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
    89
diff -urp -x '*~' -x '*.orig' src/Convert.c src/Convert.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
    90
--- src/Convert.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
    91
+++ src/Convert.c	2010-05-03 16:59:58.641228651 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
    92
@@ -90,6 +90,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
    93
     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
    94
     XtTypeConverter	converter;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    95
     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
    96
+    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
    97
     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
    98
     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
    99
     unsigned int	new_style:1;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   100
@@ -97,11 +98,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
   101
     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
   102
 } ConverterRec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   103
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   104
-#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
   105
+#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
   106
 
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   107
 /* 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
   108
 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
   109
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   110
+static
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   111
+void TableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   112
+    ConverterTable      table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   113
+    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
   114
+    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
   115
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   116
+    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
   117
+    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
   118
+    _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
   119
+    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
   120
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   121
+    XtReplicator        replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   122
+    _XtBoolean          global);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   123
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   124
 void _XtSetDefaultConverterTable(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   125
 	ConverterTable *table)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   126
 {
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   127
@@ -120,13 +135,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
   128
 	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
   129
 	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
   130
 	    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
   131
-		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
   132
-		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
   133
-		    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
   134
-	       _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
   135
+		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
   136
+	        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
   137
 				    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
   138
 				    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
   139
-				    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
   140
+				    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
   141
 	    }
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
     }
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   144
@@ -158,10 +171,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
   145
     XtPointer	tag;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   146
     int		hash;
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
+    XtDestructor destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   149
+    XtReplicator replicator;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   150
+    XtPointer closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   151
     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
   152
     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
   153
     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
   154
     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
   155
+    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
   156
     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
   157
     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
   158
     unsigned int to_is_value:1;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   159
@@ -169,15 +186,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
   160
     XrmValue	to;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   161
 } CacheRec;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   162
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   163
-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
   164
-    CachePtr	*prev;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   165
-    XtDestructor destructor;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   166
-    XtPointer	 closure;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   167
-    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
   168
-} CacheRecExt;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   169
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   170
-#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
   171
-#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
   172
+#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
   173
 
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   174
 #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
   175
 #define CACHEHASHMASK	255
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   176
@@ -186,6 +195,28 @@ typedef CachePtr CacheHashTable[CACHEHAS
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   177
 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
   178
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   179
 void _XtTableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   180
+    ConverterTable      table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   181
+    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
   182
+    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
   183
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   184
+    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
   185
+    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
   186
+    _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
   187
+    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
   188
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   189
+    _XtBoolean          global)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   190
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   191
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   192
+    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
   193
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   194
+    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
   195
+				XtCacheByDisplay | XtCacheRefCount);
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
+    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
   198
+			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
   199
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   200
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   201
+void TableAddConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   202
     ConverterTable	table,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   203
     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
   204
     XrmRepresentation   to_type,
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   205
@@ -195,6 +226,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
   206
     _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
   207
     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
   208
     XtDestructor	destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   209
+    XtReplicator        replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   210
     _XtBoolean		global)
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
     register ConverterPtr	*pp;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   213
@@ -218,6 +250,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
   214
     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
   215
     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
   216
     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
   217
+    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
   218
     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
   219
     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
   220
     args = ConvertArgs(p);
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   221
@@ -227,21 +260,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
   222
     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
   223
     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
   224
 	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
   225
-	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
   226
-	    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
   227
+        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
   228
     } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   229
 	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
   230
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   231
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   232
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   233
-void XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   234
+void _XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   235
     register _Xconst char* from_type,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   236
     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
   237
-    XtTypeConverter	converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   238
+    XtTypeConverter     converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   239
     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
   240
-    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
   241
-    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
   242
-    XtDestructor	destructor
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   243
+    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
   244
+    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
   245
+    XtDestructor        destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   246
+    XtReplicator	replicator
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   247
     )
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   248
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   249
     ProcessContext process;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   250
@@ -256,21 +289,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
   251
     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
   252
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   253
     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
   254
-	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
   255
-	    __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
   256
+        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
   257
+            __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
   258
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   259
-    _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
   260
-			 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
   261
-			 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
   262
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   263
+    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
   264
+		      	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
   265
+			replicator, True);	
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   266
     while (app) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   267
-	_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
   268
-			     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
   269
-			     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
   270
+	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
   271
+			  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
   272
+			  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
   273
 	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
   274
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   275
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   276
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   277
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   278
+void XtSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   279
+    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
   280
+    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
   281
+    XtTypeConverter	converter,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   282
+    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
   283
+    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
   284
+    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
   285
+    XtDestructor	destructor
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   286
+    )
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   287
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   288
+    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
   289
+  
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   290
+    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
   291
+				XtCacheByDisplay | XtCacheRefCount);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   292
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   293
+    _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
   294
+			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
   295
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   296
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   297
 void XtAppSetTypeConverter(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   298
     XtAppContext	app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   299
     register _Xconst char* from_type,
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   300
@@ -360,6 +413,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
   301
     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
   302
     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
   303
     XtDestructor	    destructor,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   304
+    XtReplicator	    replicator,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   305
     XtPointer		    closure)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   306
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   307
     register	CachePtr *pHashEntry;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   308
@@ -369,34 +423,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
   309
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   310
     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
   311
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   312
-    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
   313
-	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
   314
-					   sizeof(CacheRecExt) +
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   315
-					   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
   316
-	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
   317
-	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
   318
-	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
   319
-	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
   320
-	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
   321
-    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   322
-    else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   323
-	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
   324
-					  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
   325
-	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
   326
-    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   327
+    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
   328
+			(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
   329
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   330
     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
   331
 	succeeded = False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   332
     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
   333
     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
   334
     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
   335
     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
   336
-    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
   337
-	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
   338
-
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   339
     *pHashEntry     = p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   340
     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
   341
     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
   342
     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
   343
+    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
   344
+    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
   345
+    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
   346
     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
   347
     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
   348
 	p->from_is_value = True;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   349
@@ -419,14 +461,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
   350
     if (!succeeded) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   351
 	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
   352
 	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
   353
-    } 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
   354
-	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
   355
-	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
   356
     } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   357
-	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
   358
-	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
   359
-	(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
   360
+        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
   361
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   362
+        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
   363
+        	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
   364
+                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
   365
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   366
+                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
   367
+                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
   368
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   369
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   370
+        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
   371
+                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
   372
+                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
   373
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   374
+                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
   375
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   376
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   377
+        memmove(dest_ptr, src_ptr, to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   378
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   379
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   380
+    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
   381
+	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
   382
+    }
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
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   385
     return p;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   386
 }
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   387
@@ -434,32 +493,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
   388
 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
   389
     XtAppContext app,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   390
     CachePtr p,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   391
-    CachePtr *prev)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   392
+    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
   393
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   394
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   395
-    if (p->has_ext) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   396
-	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
   397
-	    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
   398
-	    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
   399
-	    XrmValue toc;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   400
-	    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
   401
-		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
   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
-	    (*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
   408
-				    &num_args);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   409
-	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   410
-	*(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
   411
-	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
   412
-	    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
   413
-    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   414
-	*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
   415
-	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
   416
-	    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
   417
+    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
   418
+    	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
   419
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   420
+        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
   421
+        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
   422
+            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
   423
+            	*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
   424
+                break;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   425
+            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   426
+           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
   427
+        }      
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   428
+    }
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   429
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   430
+    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
   431
+        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
   432
+        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
   433
+        XrmValue toc;
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
+        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
   436
+        	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
   437
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   438
+        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
   439
+        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
   440
+                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
   441
+        } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   442
+                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
   443
+        }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   444
+        (*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
   445
     }
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   446
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   447
     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
   448
 	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
   449
 	if (!p->from_is_value)
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   450
@@ -483,18 +549,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
   451
     XtPointer	tag)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   452
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   453
     int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   454
-    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
   455
     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
   456
+    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
   457
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   458
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   459
     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
   460
-	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
   461
-	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
   462
+	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
   463
+	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
   464
+	    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
   465
 	    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
   466
-		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
   467
-	    else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   468
-		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
   469
+		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
   470
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   471
+	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
   472
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   473
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   474
 }
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   475
@@ -644,7 +710,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
   476
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   477
     /* 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
   478
     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
   479
-    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
   480
+    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
   481
+	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
   482
+            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
   483
+        else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   484
+            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
   485
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   486
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   487
     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
   488
 	if ((p->hash == hash)
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   489
@@ -688,7 +759,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
   490
     {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   491
 	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
   492
 		   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
   493
-		   (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
   494
+		   (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
   495
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   496
     UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   497
 }
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   498
@@ -729,6 +800,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
   499
     int	hash;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   500
     Cardinal i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   501
     Boolean retval;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   502
+    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
   503
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   504
     if (!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
   505
 	XtPointer closure;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   506
@@ -741,7 +813,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
   507
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   508
     /* 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
   509
     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
   510
-    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
   511
+    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
   512
+	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
   513
+	    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
   514
+	else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   515
+	    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
   516
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   517
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   518
     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
   519
 	for (p = cacheHashTable[hash & CACHEHASHMASK]; p; p = p->next){
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   520
@@ -773,14 +850,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
   521
 				UNLOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   522
 				return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   523
 			    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   524
-			    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
   525
-			    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
   526
-				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
   527
-					  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
   528
+			    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
   529
+				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
   530
+				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
   531
+			    } 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
   532
+				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
   533
 			    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   534
-				(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
   535
-					       (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
   536
+				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
   537
 			    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   538
+				
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   539
+			    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
   540
+			    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
   541
+					  to->size);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   542
 			} 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
   543
 			    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
   544
 			    if (p->to_is_value)
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   545
@@ -790,7 +871,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
   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 (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
   549
-			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
   550
+			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
   551
 			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
   552
 			    *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
   553
 			else
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   554
@@ -813,7 +894,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
   555
 	Heap *heap;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   556
 	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
   557
 	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
   558
-	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
   559
+	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
   560
 	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
   561
 	Boolean retval =
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   562
 	    (*(XtTypeConverter)converter)(dpy, args, &num_args, from, to, &closure);
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   563
@@ -826,6 +907,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
   564
 	    return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   565
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   566
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   567
+	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
   568
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   569
 	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
   570
 	    heap = NULL;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   571
 	    do_free = True;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   572
@@ -837,8 +920,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
   573
 	else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   574
 	    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
   575
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   576
-	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
   577
-		       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
   578
+        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
   579
+		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
   580
+		       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
   581
+		       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
   582
+	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   583
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   584
 	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
   585
 	    *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
   586
 	else if (cache_ref_return)
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   587
@@ -1064,8 +1151,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
   588
     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
   589
     LOCK_PROCESS;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   590
     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
   591
-	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
   592
-	    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
   593
+	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
   594
+	    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
   595
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   596
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   597
     UNLOCK_PROCESS;
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   598
@@ -1081,7 +1168,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
   599
 {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   600
     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
   601
 			   (XtCacheRef*)closure );
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   602
-    XtFree(closure);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   603
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   604
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   605
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   606
diff -urp -x '*~' -x '*.orig' src/Converters.c src/Converters.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   607
--- src/Converters.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   608
+++ src/Converters.c	2010-05-03 16:59:58.641904182 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   609
@@ -1363,7 +1363,7 @@ Boolean XtCvtIntToPixmap(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   610
 		  XtNwrongParameters,"cvtIntToPixmap",XtCXtToolkitError,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   611
                   "Integer to Pixmap conversion needs no extra arguments",
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   612
                    (String *) NULL, (Cardinal *)NULL);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   613
-    done(Pixmap, *(Pixmap*)fromVal->addr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   614
+    done(Pixmap, *(int*)fromVal->addr);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   615
 }
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
 #ifdef MOTIFBC
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   618
diff -urp -x '*~' -x '*.orig' src/Create.c src/Create.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   619
--- src/Create.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   620
+++ src/Create.c	2010-05-03 16:59:58.642283089 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   621
@@ -408,8 +408,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
   622
     CompileCallbacks(widget);
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   623
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   624
     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
   625
-	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
   626
-		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
   627
+	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
   628
     }
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   629
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   630
     wsize = widget_class->core_class.widget_size;
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   631
diff -urp -x '*~' -x '*.orig' src/Display.c src/Display.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   632
--- src/Display.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   633
+++ src/Display.c	2010-05-03 16:59:58.642695753 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   634
@@ -326,12 +326,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
   635
  * 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
   636
  */
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
-    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
   639
-	__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
   640
-
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   641
-    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
   642
-    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
   643
-
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   644
+    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
   645
+    	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
   646
+		__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
   647
+
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   648
+    	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
   649
+    	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
   650
+    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   651
+	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
   652
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   653
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   654
     *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
   655
 
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   656
diff -urp -x '*~' -x '*.orig' src/Event.c src/Event.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   657
--- src/Event.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   658
+++ src/Event.c	2010-05-03 16:59:58.643382364 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   659
@@ -566,6 +566,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
   660
     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
   661
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   662
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   663
+/* 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
   664
+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
   665
+    Window window;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   666
+    Widget widget;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   667
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   668
+    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
   669
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   670
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   671
 void XtUnregisterDrawable(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   672
     Display* display,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   673
     Drawable drawable)
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   674
@@ -616,6 +624,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
   675
     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
   676
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   677
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   678
+/* 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
   679
+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
   680
+    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
   681
+    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
   682
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   683
+    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
   684
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   685
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   686
 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
   687
     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
   688
 {
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   689
diff -urp -x '*~' -x '*.orig' src/Geometry.c src/Geometry.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   690
--- src/Geometry.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   691
+++ src/Geometry.c	2010-05-03 16:59:58.643755121 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   692
@@ -333,6 +333,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
   693
 	} else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   694
 	    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
   695
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   696
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   697
+	/* 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
   698
+        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
   699
+            (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
   700
+             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
   701
+            return XtGeometryYes;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   702
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   703
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   704
     /*
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   705
diff -urp -x '*~' -x '*.orig' src/Initialize.c src/Initialize.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   706
--- src/Initialize.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   707
+++ src/Initialize.c	2010-05-03 16:59:58.644224699 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   708
@@ -481,7 +481,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
   709
     if (! XSetLocaleModifiers(""))
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   710
 	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
   711
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   712
-    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
   713
+    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
   714
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   715
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   716
 XtLanguageProc XtSetLanguageProc(
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   717
@@ -1002,8 +1002,13 @@ Widget XtOpenApplication(XtAppContext *a
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   718
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   719
     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
   720
     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
   721
-    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
   722
-    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
   723
+    /* 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
   724
+    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
   725
+    	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
   726
+	num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   727
+	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
   728
+	num++;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   729
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   730
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   731
     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
   732
     num += num_args_in;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   733
diff -urp -x '*~' -x '*.orig' src/Makefile.am src/Makefile.am
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   734
--- src/Makefile.am	2009-11-09 03:21:54.000000000 -0800
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   735
+++ src/Makefile.am	2010-05-03 16:59:58.644427695 -0700
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   736
@@ -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
   737
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   738
 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
   739
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   740
-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
   741
+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
   742
+	-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
   743
 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   744
 #
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   745
 # The util directory contains a program that builds some of the sources. 
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   746
diff -urp -x '*~' -x '*.orig' src/NextEvent.c src/NextEvent.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   747
--- src/NextEvent.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   748
+++ src/NextEvent.c	2010-05-03 16:59:58.645120044 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   749
@@ -350,6 +350,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
   750
 #endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   751
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   752
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   753
+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
   754
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   755
+   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
   756
+   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
   757
+   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
   758
+
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   759
+   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
   760
+   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
   761
+   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
   762
+   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
   763
+   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
   764
+   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
   765
+   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
   766
+   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
   767
+   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
   768
+   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
   769
+                 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
   770
+                 "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
   771
+                 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
   772
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   773
+   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
   774
+                                             /* zero_time.                    */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   775
+   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
   776
+    {                                        /* 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
   777
+      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
   778
+      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
   779
+                                             /*  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
   780
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   781
+   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
   782
+    {                                        /* 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
   783
+      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
   784
+      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
   785
+       {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   786
+         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
   787
+         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
   788
+         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
   789
+         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
   790
+                       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
   791
+                       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
   792
+         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
   793
+         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
   794
+         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
   795
+       }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   796
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   797
+}
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   798
 
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   799
 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
   800
     wait_times_ptr_t wt,
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   801
@@ -632,20 +677,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
   802
 	    /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   803
 	     *  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
   804
 	     */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   805
-	    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
   806
-		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
   807
-		    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
   808
-		    continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   809
-		}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   810
-	        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
   811
-
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   812
-		/* 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
   813
-		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
   814
-		    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
   815
-		    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
   816
-			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
   817
-			    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
   818
-				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
   819
+            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
   820
+                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
   821
+                continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   822
+            } 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
   823
+                /* 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
   824
+                int i;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   825
+                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
   826
+                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
   827
+                    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
   828
+                          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
   829
+                        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
   830
+                              == -1) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   831
+                            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
   832
+                            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
   833
+                            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
   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
+                            /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   836
+                             * 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
   837
+                             * 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
   838
+                             */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   839
+                            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
   840
+                              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
   841
+                            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   842
+                            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
   843
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   844
+                            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
   845
+                            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
   846
+                                            XtCXtToolkitError,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   847
+                                            "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
   848
+                                            &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
   849
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   850
+                            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
   851
+                            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
   852
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   853
+                          }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   854
+                      }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   855
+                  }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   856
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   857
+                return -1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   858
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   859
+            } 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
   860
+                errno = 0;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   861
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   862
+                /* 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
   863
+                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
   864
+                    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
   865
+                    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
   866
+                        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
   867
+                            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
   868
+                                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
   869
 #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
   870
 			    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
   871
 #endif
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   872
@@ -690,17 +771,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
   873
 #endif
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   874
 			nfds = 0;
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   875
 		}
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   876
-	    } else {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   877
-		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
   878
-		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
   879
-		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
   880
-
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   881
-		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
   882
-		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
   883
-			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
   884
-			&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
   885
-		continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   886
-	    }
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   887
+            } 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
   888
+                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
   889
+
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   890
+                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
   891
+                                                /* 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
   892
+                                                /* 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
   893
+                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
   894
+                    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
   895
+                        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
   896
+                        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
   897
+                        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
   898
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   899
+                        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
   900
+                        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
   901
+                                      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
   902
+                                      &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
   903
+                        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
   904
+                    } 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
   905
+                                                /* 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
   906
+                        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
   907
+                    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   908
+                } 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
   909
+                                                /* 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
   910
+                    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
   911
+                    continue;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   912
+                }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   913
+            }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   914
 	} /* 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
   915
 	break;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   916
     }
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   917
@@ -746,6 +843,44 @@ WaitLoop:
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   918
 #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
   919
     (*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
   920
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   921
+#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
   922
+#if NeedFunctionPrototypes
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   923
+int _XtwaitForSomething(
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   924
+    _XtBoolean ignoreTimers,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   925
+    _XtBoolean ignoreInputs,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   926
+    _XtBoolean ignoreEvents,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   927
+    _XtBoolean block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   928
+    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
   929
+    XtAppContext app)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   930
+#else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   931
+int _XtwaitForSomething(ignoreTimers, ignoreInputs, ignoreEvents,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   932
+                        block, howlong, app)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   933
+        Boolean ignoreTimers;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   934
+        Boolean ignoreInputs;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   935
+        Boolean ignoreEvents;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   936
+        Boolean block;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   937
+        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
   938
+        XtAppContext app;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   939
+#endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   940
+{
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   941
+#ifdef XTHREADS
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   942
+/* 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
   943
+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
   944
+            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
   945
+            block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   946
+            TRUE,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   947
+            howlong);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   948
+#else
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   949
+/* 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
   950
+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
   951
+            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
   952
+            block,
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   953
+            howlong);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   954
+#endif
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   955
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   956
+}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   957
+#endif /* SUNSOFT */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   958
+
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   959
 /*
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   960
  * Public Routines
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   961
  */
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   962
diff -urp -x '*~' -x '*.orig' src/Resources.c src/Resources.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   963
--- src/Resources.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   964
+++ src/Resources.c	2010-05-03 16:59:58.645612118 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   965
@@ -948,7 +948,7 @@ static XtCacheRef *GetResources(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   966
 		    register XtTypedArg* arg = typed_args + typed[j] - 1;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   967
 		    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
   968
 
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   969
-		    for (i = num_typed_args - typed[j]; i; i--, arg++) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   970
+		    for (i = num_typed_args - typed[j]; i > 0; i--, arg++) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   971
 			*arg = *(arg+1);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   972
 		    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   973
 		    num_typed_args--;
761
9a43833314f0 6867643 X.Org mass minor app & lib module update: July 2009
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 442
diff changeset
   974
diff -urp -x '*~' -x '*.orig' src/Shell.c src/Shell.c
946
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   975
--- src/Shell.c	2010-03-15 14:51:18.000000000 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   976
+++ src/Shell.c	2010-05-03 16:59:58.646639717 -0700
c4381a29a60a 6949653 Mass minor update to X.Org upstream release [April 2010 edition]
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 761
diff changeset
   977
@@ -2484,6 +2484,11 @@ static Boolean TopLevelSetValues(
351
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   978
 		XFree((XPointer)icon_name.value);
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   979
 	}
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   980
     }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   981
+    /* fix for bug 1243761 - leob */
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   982
+    else if (new->topLevel.iconic != old->topLevel.iconic) {
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   983
+        if (new->topLevel.iconic)
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   984
+            new->wm.wm_hints.initial_state = IconicState;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   985
+    }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   986
     return False;
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   987
 }
3e3bd6053a4e 6671721 Update libXt to opensrc verion 1.0.5 from X.org
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   988