diff options
Diffstat (limited to 'wglarb.c')
-rw-r--r-- | wglarb.c | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -186,8 +186,9 @@ HGLRC WINAPI wglarb_CreateContextAttribsARB( return NULL; } - PFNWGLCREATECONTEXTATTRIBSARBPROC impl; - *(PROC*)(&impl) = wglGetProcAddress("wglCreateContextAttribsARB"); + PFNWGLCREATECONTEXTATTRIBSARBPROC impl = + (PFNWGLCREATECONTEXTATTRIBSARBPROC) + wglGetProcAddress("wglCreateContextAttribsARB"); HGLRC ret = NULL; if( impl ) { @@ -218,8 +219,16 @@ BOOL WINAPI wglarb_ChoosePixelFormatARB( return FALSE; } - PFNWGLCHOOSEPIXELFORMATARBPROC impl; - *(PROC*)(&impl) = wglGetProcAddress("wglChoosePixelFormatARB"); + PFNWGLCHOOSEPIXELFORMATARBPROC impl = NULL; + + impl = (PFNWGLCHOOSEPIXELFORMATARBPROC) + wglGetProcAddress("wglChoosePixelFormatARB"); + if( !impl ) { + /* WGL_EXT_pixel_format uses the same function prototypes + * as the WGL_ARB_pixel_format extension */ + impl = (PFNWGLCHOOSEPIXELFORMATARBPROC) + wglGetProcAddress("wglChoosePixelFormatEXT"); + } BOOL ret = FALSE; if( impl ) { |