THIS INFORMATION IS WITHOUT ANY WARRANTY. USE AT YOUR OWN RISK.
I AM NOT RESPONSIBLE FOR ANY DAMAGE CAUSED BY USING THIS PACKAGE.


This package contains 2 Fixes to PMMERGE.DLL Build 14.006.
This build was released by IBM as pj31908 and is also part of many ECS 2.0  
and ECS 2.1 releases.

DESCRIPTION
FIX1: SYS3171 (Stack Overflow) on PMSHELL.EXE and others.

When clicking on an inactive program to get focus on it, the program crashes.
This behaviour is mainly seen when running VPC as host.
When starting several programs by fastly clicking on their icons PMSHELL may die.
A reboot is necessary to get the system back to life.

The cause for this behaviour is within function CallOemPointer.
It is used to send drawing commands to the graphics system.
Under certain conditions, this function calls WIN32SENDMSG.
If the function was called as a result of message processing, a loop may be established.
This causes the stack to be filled within the loop, ending with SYS3171.

The file named PM_SYS3171 patches CallOemPointer to not call SENDMSG anymore.
This behaviour is similar to PMMERGE Builds 14.095 and earlier.
Side effect may be lost mouse clicks when system is busy but I use this Patch
for over a Year now with no noticeable drawbacks.


FIX2: USING PM_SystemFonts->DefaultFont CHANGES ALL FORM SIZES

When setting PM_SystemFonts->DefaultFont to anything smaller than SystemProportional
many other forms (such as the settings pages of the WPS) have too small text items.
Also the height of titlebars on all windows is changed.  

The file named PM_DEFFONT patches the initial processing of pmmerge to using fixed
fontsize (using the values from SystemProportional).
So don't use this patch if you are pleased using the DefaultFont setting already.
Side effect: The IBM Help Viewer looks strange, don't know why.
Use NewView instead.



HOW TO APPLY THIS FIX

1. Make shure, you are using PMMERGE.DLL 14.106 using bldlevel utility.

2. Make a bakup of your original PMMERGE.DLL

3. Make shure that you are able to boot from disc or maintainance partition.
   Be shure! You cannot start the system with a corrupted PMMERGE!

4. Get lxlt133 from the web and unpack it into a temporary directory.
   On ECS 2.1 lxlite is already installed.

5. Copy PMMERGE.DLL to the temporary directory.

6. Expand PMMERGE.DLL using lxlite.exe, file size should be 1754169 bytes.

7. Copy the *.PAT files to the temporary directory.

8. Run PATCH.EXE PM_SYS3171.PAT /A to apply fix1

9. Run PATCH.EXE PM_DEFFONT.PAT /A to apply fix2

10. Replace the PMMERGE.DLL within your DLL directory with the patched one.
    Note: The file is locked, so either use a tool like UNLOCK.EXE or
          boot from disc or maintainance partition to replace the file.


NOTE: IBM PATCH.EXE should already be installed on your system.
      If not, you can find it within a file named RAS on your installation cd.
      This file is mostly found on either Disk_18 or Disk_22 directory.
      Unpack this file with UNPACK.EXE to a temporary directory.


