diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/drivers/glide/fxwgl.c | 15 | 
1 files changed, 11 insertions, 4 deletions
diff --git a/src/mesa/drivers/glide/fxwgl.c b/src/mesa/drivers/glide/fxwgl.c index bba6c98cfc..cf2d820bc7 100644 --- a/src/mesa/drivers/glide/fxwgl.c +++ b/src/mesa/drivers/glide/fxwgl.c @@ -827,10 +827,17 @@ wglSetPixelFormat(HDC hdc, int iPixelFormat, const PIXELFORMATDESCRIPTOR * ppfd)     qt_valid_pix = qt_pix; -   if (iPixelFormat < 1 || iPixelFormat > qt_valid_pix -       || ppfd->nSize != sizeof(PIXELFORMATDESCRIPTOR)) { -      SetLastError(0); -      return (FALSE); +   if (iPixelFormat < 1 || iPixelFormat > qt_valid_pix) { +      if (ppfd == NULL) { +         PIXELFORMATDESCRIPTOR my_pfd; +         if (!wglDescribePixelFormat(hdc, iPixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &my_pfd)) { +            SetLastError(0); +            return (FALSE); +         } +      } else if (ppfd->nSize != sizeof(PIXELFORMATDESCRIPTOR)) { +         SetLastError(0); +         return (FALSE); +      }     }     curPFD = iPixelFormat;  | 
