
**********************************************************************
NOTE: CDE/MOTIF IS LICENSED SOFTWARE.  SOURCE AND OBJECT CODE IS NOT
TO BE DISTRIBUTED TO THIRD PARTIES EXCEPT AS PROVIDED BY THE TERMS OF
YOUR LICENSE AGREEMENT.  PASSIVE DISTRIBUTION TO UNIDENTIFIED PARTIES,
SUCH AS MAKING FILES AVAILABLE FOR UNRESTRICTED ELECTRONIC FILE
TRANSFER, IS STRICTLY PROHIBITED BY THE LICENSE.

THESE RESTRICTIONS APPLY TO ANY PARTY TO WHOM THE SOFTWARE HAS BEEN
DISTRIBUTED.
**********************************************************************

THE PURPOSE OF THIS RELEASE

	This is the second maintenance release for CDE and Motif 2.1.
	It was designed to resolve as many defects as possible from the
	project's defect database.  This maintenance release resolves 423
	problem reports against CDE and Motif 2.1.10.


	The Open Group encourages the reporting of all bugs found in CDE
	and Motif regardless of the platform or hardware configuration in 
	which the bug is found.  However, The Open Group will commit to 
	accept (and repair according to priority) only those bugs that can 
	be replicated on the current reference configurations.  


DOWNLOAD INSTRUCTIIONS

	This section describes how to unload the release archives
	available at this ftp site, including information about how much 
	disk space is required.

	The CDE/Motif 2.1.20 release is provided as compressed tar archives.  


  	README-2.1.20         - this file

  	cde.tar.Z             - a compressed tar file of the 
			        CDE 2.1.20 source code

  	cde-test.tar.Z        - a compressed tar file of the 
			        CDE 2.1.20 tests

  	cde-test-misc.tar.Z   - a compressed tar file of 
			        test results for CDE/Motif 2.1.20

  	motif.tar.Z           - a compressed tar file of the 
			        MOTIF 2.1.20 source code

  	motif-test-misc.tar.Z - a compressed tar file of 
			        test results for Motif 2.1.20


	The CDE/Motif 2.1.20 release is in the form of a sparse tree; that 
	is, it contains only files that have been modified in either CDE or 
	Motif since the 2.1.10 release.  If you are a CDE licensee you will 
	receive files for both CDE and Motif.  If you are a Motif-only 
	licensee you will receive files just for Motif.

	After ftp-ing the files to your machine, you should first uncompress
	the compressed (*.Z) files with the command:
	
    		uncompress <filename>.Z
	
	Once the tar archives have been uncompressed, you can untar each
	with the command:
	
    		tar xvf <filename>.tar
	
	This command will preserve the .tar file while unloading its contents
	into your current working directory.  If you wish to list a table of
	contents of the tar file before actually unloading it you can do so
	with the command:
	
    		tar tvf <filename>.tar
	

INSTALLING THIS RELEASE

	This release is made up of a "sparse tree" of files that have changed
	since release 2.1.10. The new versions of the files should replace the
	corresponding CDE or Motif 2.1.10 versions of the files in your source 
	tree. 


	After the release is unloaded, you can use, for example, cp -R command
	to copy the sources from the current directory into your source tree.
	This release creates several new files.  If you are using a symbolic
	link tree, you will need to create new links for them.

	Please see the Release Notes from 2.1 for instructions on building
	a full release tree.
	

IMPORTANT CHANGES IN THIS RELEASE

Defect Repair

	This patch release resolves 423 problem reports against CDE and 
	Motif 2.1.10.  Each of these defects were resolved in one of three
	ways: fixed (problem was recreated and repaired), duplicate 
	(problem was already reported and recorded in defect database), 
	or cancelled (problem could not be recreated in current code
	base).  The breakdown by component and resolution type is:

	FIXED:	Total  298 

		CDE Code:  193 	 	Motif Code:  68
		CDE Doc:     1 	 	Motif Doc:    0
		CDE Test:   32 	 	Motif Test:   4
		--------------		---------------
		Total:     226 		Total:       72 

	DUPLICATE:	Total  42 

		CDE Code:  19 	 	Motif Code:  11
		CDE Doc:    0 	 	Motif Doc:    0
		CDE Test:  11 	 	Motif Test:   1
		--------------		---------------
		Total:      30 		Total:       12 

	CANCEL:	Total  83 

		CDE Code:  35 	 	Motif Code:  22
		CDE Doc:    0 	 	Motif Doc:    1
		CDE Test:  20 	 	Motif Test:   5
		--------------		---------------
		Total:      55 		Total:       28 


	For more information on the bugs resolved, see the file 
	CLOSEDBUGS in this release.

Test Improvements

	Several changes were made for CDE 2.1.20 to streamline the
	automated testing process.   Included are necessary fixes in
	order to significantly improve test performance times, as well
	as to eliminate test hangs.

	Specific fixes include 

	CDExc23856  deiconify tests have logic backwards

	This was a legacy bug in QATS that caused many tests to hang when 
	doing an iconify/deiconify combination in order to force expose
	events

	CDExc23824  DtAction tests take extremely long to complete

	Since X events were being processed once every thirty seconds, test
	performance has been improved from overnight to twenty minutes

	CDExc23843  dtpad tests need speeding up on the printing delays

	When outputting characters to the screen dtpad was incorrectly
	sleeping for one half second between each one.  The performance
	of this suite has improved from twelve hours to five hours.

BUG LISTS

	In the release archive there are two files, OPENBUGS and 
	CLOSEDBUGS, which contain, respectively, the list of all bugs 
	from any version of CDE or Motif not yet closed, and all bugs 
	from CDE or Motif fixed in this patch release.


BUILDING MOTIF FOR YOUR SYSTEM

	Since X11 is NOT being delivered as part of this release, there
	are some minor changes in the build process for Motif with respect
	to the build process described in the 2.1 Release Notes.

	Replace step 2 under the Building Motif subsection of Section 3:

	  2.  If you are building with imports (the default setup in site.def),
	      construct the necessary links as follows:

	      % cd $CDEBUILDDIR/motif
	      % mkdir -p imports/x11
	      % cd imports/x11
	      % ln -s <X11_bin_directory> bin
	      % ln -s <X11_includes_directory> includes
	      % ln -s <X11_libs_directory> libs


REFERENCE PLATFORMS

	The Open Group has used a number of platforms during the
	development of the 2.1.20 release.  However, the following
	reference platforms are the only ones where the complete
	test cycle was run.  Test results appear below.


   CDE and Motif:
	HP9000/7xx running HP-UX 10.20
	Sun SPARCstation running Solaris 2.4
		using the SC 4.0 C compiler and SC 4.1 C++ compilers

   
   Changes to X11R6.4:

	CDE and Motif 2.1.20 have been built and tested upon a base of 
	X11R6.4 patchlevel 3.  During the development of 2.1.20, a 
	significant defect in the I18N code of X was discovered.  The
	symptom is that when XMODIFIERS is not set, there is a possibility
	of memory corruption.   It is recommended that the following patch 
	be applied:

	*** imInt.c@@/main/5       Sat May 30 21:04:36 1998
	--- xc/lib/X11/imInt.c       Mon Aug 24 16:17:25 1998
	***************
	*** 1,4 ****
	! /* $TOG: imInt.c /main/5 1998/05/30 21:11:16 kaleb $ */
	  /******************************************************************
	  
	             Copyright 1992, 1993, 1994 by FUJITSU LIMITED
	--- 1,4 ----
	! /* $TOG: imInt.c /main/6 1998/08/24 16:22:12 mgreess $ */
	  /******************************************************************
	  
	             Copyright 1992, 1993, 1994 by FUJITSU LIMITED
	***************
	*** 166,174 ****
	  _XimMakeImName(lcd)
	      XLCd         lcd;
	  {
	!     char* begin;
	!     char* end;
	!     char* ret;
	      int       i = 0;
	      char* ximmodifier = XIMMODIFIER;
	  
	--- 166,174 ----
	  _XimMakeImName(lcd)
	      XLCd         lcd;
	  {
	!     char* begin = NULL;
	!     char* end = NULL;
	!     char* ret = NULL;
	      int       i = 0;
	      char* ximmodifier = XIMMODIFIER;
	  
	***************
	*** 182,189 ****
	      }
	      ret = Xmalloc(end - begin + 2);
	      if (ret != NULL) {
	!       (void)strncpy(ret, begin, end - begin + 1);
	!       ret[end - begin + 1] = '\0';
	      }
	      return ret;
	  }
	--- 182,192 ----
	      }
	      ret = Xmalloc(end - begin + 2);
	      if (ret != NULL) {
	!       if (begin != NULL && end != NULL) {
	!           (void)strncpy(ret, begin, end - begin + 1);
	!           ret[end - begin + 1] = '\0';
	!         }
	!       else *ret = '\0';
	      }
	      return ret;
	  }


TEST RESULTS SUMMARY

	Since this is a general availability release, it has undergone 
	the full quality assurance cycle. The cycle includes running the
	following test suites:

		QATS - Motif Quality Assurance Test Suite
		VSM 4.1  - Motif Validation Suite
		CDE Regression Tests

	The results of these test runs can be found in the release
	archive under cde-test-misc/reports/cde-2.1.20.  Note that the
	the journal files (.prt) and other output results generated by
	QATS have been included for the first time.
