Pointer May Not Be Visible if an OpenGL Program Has Data in the Overlay Planes (265253)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional

This article was previously published under Q265253

SYMPTOMS

Under the following conditions, your pointer may not be visible:
  • Your driver receives a pointer shape that your hardware cannot support, for example, one that is too large, has too many colors, and so on.
  • A program is running with some data that is written in the overlay planes by using OpenGL.

CAUSE

When a driver declines a pointer because the hardware cannot support it, GDI draws the pointer by using DrvCopyBits() to the main planes and the overlay planes are unchanged. Because of this, if a program has data in the overlay planes, the cursor may not be visible.

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

The English version of this fix should have the following file attributes or later:
   Date        Time      Version        Size      File name
   ---------------------------------------------------------
   03/22/2000  10:26 PM  5.0.2195.1333  221,968   Gdi32.dll
   05/31/2000  04:45 PM  5.0.2195.2096  379,152   User32.dll
   06/21/2000  07:54 PM  5.0.2195.2096  1,639,568 Win32k.sys
   03/22/2000  10:27 PM  5.0.2195.1333  242,960   Winsrv.dll
				

STATUS

Microsoft has confirmed that this is a problem in Microsoft Windows 2000. This problem was first corrected in Windows 2000 Service Pack 2.

MORE INFORMATION

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes

NOTE: This hotfix adds an ability to the driver so that the driver can move the pointer in hardware while other drawing is occurring on the device. If you want to be able to report GCAPS_ASYNCMOVE from your driver and for the other pointers, you cannot support this asynchronously. If you want to override this asynchronous behavior with the GCAPS_ASYNCMOVE flag, your driver must return (SPS_ACCEPT_NOECLUDE | SPS_ACCEPT_SYNCHRONOUS) when it accepts the pointer.

GCAPS_ASYNCMOVE: The driver can move the pointer in hardware while other drawing is occurring on the device.

Modification Type:MinorLast Reviewed:9/26/2005
Keywords:kbHotfixServer kbQFE kbbug kbenv kbfix kbui kbWin2000PreSP2Fix KB265253