Thanks Rich for the feedback.
Rich, what is your opinion on this patch? The last time I checked, ArcaOS was still using build 14.006.
http://hobbes.nmsu.edu/download/pub/os2/system/patches/PMFIX.zipTHIS 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