wglSetPixelFormat should ignore the ppfd parameter.
authorMorgan Armand <morgan.devel@gmail.com>
Wed, 2 Nov 2011 19:12:39 +0000 (20:12 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Wed, 2 Nov 2011 19:51:09 +0000 (19:51 +0000)
Signed-off-by: José Fonseca <jfonseca@vmware.com>
src/gallium/state_trackers/wgl/stw_wgl.c
src/mesa/drivers/windows/gdi/wgl.c

index 5fbb7bf7cfd6b8aefd102b73c4e2411497c48ab7..d38bfbefdd79fea5356e518174ccb8552a4b18f2 100644 (file)
@@ -172,8 +172,10 @@ wglSetPixelFormat(
    int iPixelFormat,
    const PIXELFORMATDESCRIPTOR *ppfd )
 {
-   if (ppfd->nSize != sizeof( PIXELFORMATDESCRIPTOR ))
-      return FALSE;
+    /* SetPixelFormat (hence wglSetPixelFormat) must not touch ppfd, per
+     * http://msdn.microsoft.com/en-us/library/dd369049(v=vs.85).aspx
+     */
+   (void) ppfd;
 
    return DrvSetPixelFormat( hdc, iPixelFormat );
 }
index 33baabee63f1557fa6e0cc4ddd0dc48b9a41858b..61850c26ffb1c95e1310e688325e5a8c901e5c89 100644 (file)
@@ -335,9 +335,13 @@ WINGDIAPI BOOL GLAPIENTRY wglSetPixelFormat(HDC hdc,int iPixelFormat,
                                        const PIXELFORMATDESCRIPTOR *ppfd)
 {
     (void) hdc;
-    
-    if(iPixelFormat < 1 || iPixelFormat > npfd || 
-       ppfd->nSize != sizeof(PIXELFORMATDESCRIPTOR)) {
+
+    /* SetPixelFormat (hence wglSetPixelFormat) must not touch ppfd, per
+     * http://msdn.microsoft.com/en-us/library/dd369049(v=vs.85).aspx
+     */
+    (void) ppfd;
+
+    if(iPixelFormat < 1 || iPixelFormat > npfd) {
        SetLastError(0);
        return(FALSE);
     }