The information in this article applies to:
SYMPTOMSSome display drivers experience a GP-fault or unrecoverable application error (UAE) when a large bitmap is loaded onto the desktop as "wallpaper." This fault occurs when the bitmap is aligned on a page boundary and the driver attempts to read the next page. In standard mode, the next page is often valid and the bug escapes detection. In enhanced mode, the next page is frequently invalid and the GP-fault occurs. CAUSEThis GP-fault can be attributed to the way the main loop is constructed in the video driver DIB-handling routines. The main loop is written so that a byte is fetched from the DIB and the data pointer is advanced immediately, before processing the byte. This is fine until the very last byte in the DIB is processed. MORE INFORMATION
This problem has manifested itself in a few different ways. For
example, in one instance, the driver code fetched the final DIB byte
(which was at an offset of FFFFh in a given segment). The driver
incremented the offset, determined that it wrapped to zero, and
incremented the value in the DIB segment register. Because this was
the final byte of the DIB, the new value in the DIB segment register
was an invalid selector. Using an invalid selector causes a GP-fault.
Additional query words: 3.00 3.10
Keywords : |
Last Reviewed: November 1, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |