KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q61242: C 6.00 README: Patching MOUCALLS.DLL (OS/2 1.10 Only)

Article: Q61242
Product(s): See article
Version(s): 6.00   | 6.00
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | | mspl13_c
Last Modified: 25-APR-1990

The following information is taken from the C Version 6.00 README.DOC
file.

Patching MOUCALLS.DLL (OS/2 1.10 Only)
--------------------------------------

The dynamic-link library, MOUCALLS.DLL, handles OS/2 API functions
that process mouse messages. Some versions of MOUCALLS.DLL shipped
with OS/2 1.10 cause a general protection fault when running such
applications as the Programmer's WorkBench (PWB). This section
describes how to patch MOUCALLS.DLL to correct the error.

Identifying the Problem
-----------------------

When a general protection fault occurs under OS/2, the system displays
the location of the fault. If the fault occurs with CS equal to 20F,
follow the procedure outlined in the next section to patch
MOUCALLS.DLL.

Patching MOUCALLS.DLL
---------------------

Because OS/2 1.10 with the Presentation Manager uses MOUCALLS.DLL, you
cannot directly alter the file. Instead you must modify a copy of the
file as shown:

 1. Create a directory on your boot disk called C:\NEWMOU.

 2. Copy your C:\CONFIG.SYS file to C:\CONFIG.MOU.

 3. Edit your C:\CONFIG.SYS file. There is a line in it that begins
    with LIBPATH. Add the directory C:\NEWMOU as the first directory
    in the line. So, if the LIBPATH line originally looks like

      LIBPATH=C:\OS2;C:\LANMAN

   change it to

      LIBPATH=C:\NEWMOU;C:\OS2;C:\LANMAN

 4. Locate the file MOUCALLS.DLL on your hard drive. It is probably in
    the OS2 directory of your boot drive. If not, it is certainly in
    one of the directories listed in the LIBPATH line you just edited.

    Copy MOUCALLS.DLL to the C:\NEWMOU directory.

 5. Reboot your computer.

 6. After the system has come back up, change directories to the
    C:\OS2 directory, or wherever the original MOUCALLS.DLL resides.

 7. Run the following command:

       PATCH MOUCALLS.DLL

    The PATCH program prompts you for the offset location to be patched.
    Type the following offset:

       1432

    Then change the hexadecimal value of the byte at that location from
    1A to 1C.

    Note that there should be a program called PATCH.EXE on your path.
    It will make the appropriate change to the MOUCALLS.DLL file.

 8. Copy C:\CONFIG.MOU back over C:\CONFIG.SYS and delete
    C:\CONFIG.MOU.

 9. Reboot your computer.

10. After the system has come back up, delete the files in C:\NEWMOU
    and remove the directory.

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.