aboutsummaryrefslogtreecommitdiff
path: root/wglarb.c
diff options
context:
space:
mode:
Diffstat (limited to 'wglarb.c')
-rw-r--r--wglarb.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/wglarb.c b/wglarb.c
index 3c76608..a8bc126 100644
--- a/wglarb.c
+++ b/wglarb.c
@@ -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 ) {