KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q45617: Mouse Disabled When Single-Stepping over Video Mode Change

Article: Q45617
Product(s): See article
Version(s): 2.20 2.30
Operating System(s): OS/2
Keyword(s): ENDUSER | buglist2.20 buglist2.30 | mspl13_basic
Last Modified: 21-JUN-1989

When CodeView is run in the OS/2 compatibility box with screen
swapping enabled (started with either /s or /43), single-stepping (F8)
over a _setvideomode() call or an INT 10 call to change the video mode
to a graphics mode causes the mouse cursor to disappear. Exiting
CodeView and running another mouse-driven program reveals that the
mouse has been completely disabled in the compatibility box. The only
way to regain the mouse is to reboot the computer. Attempting to
reload the mouse by typing "mouse" at a prompt results in the
following message:

   Session Title: DOS Command Prompt

This error occurs because a DOS mode program changes an interrupt
vector that is owned by the system causing the program to end.

The behavior described above applies to tracing in SOURCE mode.
Attempting to trace in assembly language or mixed mode through the
code that changes the video mode produces erratic results, which range
from hanging the DOS box to halting the entire system with an
"internal processing error."

Microsoft has confirmed this to be a problem in CodeView Versions 2.20
and 2.30. We are researching this problem and will post new information
as it becomes available.

The following program illustrates the problem:

#include <graph.h>

void main(void)
{
  _setvideomode(_ERESCOLOR);    /* when this line is executed, the  */
                                /* mouse cursor will disappear.     */
  _setvideomode(_DEFAULTMODE);

}

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.