From: Jacek Caban jacek@codeweavers.com
--- dlls/opengl32/make_opengl | 1 - dlls/opengl32/unix_thunks.c | 17 ++++++++++++++++- dlls/opengl32/unix_thunks.h | 2 -- dlls/opengl32/unix_wgl.c | 19 ------------------- 4 files changed, 16 insertions(+), 23 deletions(-)
diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index b5663438266..f3ce26e77ad 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -231,7 +231,6 @@ my %manual_wow64_thunks = "glUnmapNamedBuffer" => 1, "glUnmapNamedBufferEXT" => 1, "wglCreatePbufferARB" => 1, - "wglGetExtensionsStringARB" => 1, "wglGetExtensionsStringEXT" => 1, "wglGetPbufferDCARB" => 1, "wglGetProcAddress" => 1, diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index c042af5870e..1df390a2c65 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -26697,7 +26697,7 @@ static NTSTATUS ext_wglFreeMemoryNV( void *args ) return STATUS_SUCCESS; }
-NTSTATUS ext_wglGetExtensionsStringARB( void *args ) +static NTSTATUS ext_wglGetExtensionsStringARB( void *args ) { struct wglGetExtensionsStringARB_params *params = args; const struct opengl_funcs *funcs = get_dc_funcs( params->hdc ); @@ -78394,6 +78394,21 @@ static NTSTATUS wow64_ext_wglFreeMemoryNV( void *args ) return STATUS_SUCCESS; }
+static NTSTATUS wow64_ext_wglGetExtensionsStringARB( void *args ) +{ + struct + { + PTR32 teb; + PTR32 hdc; + PTR32 ret; + } *params = args; + const char *ret; + const struct opengl_funcs *funcs = get_dc_funcs( ULongToPtr(params->hdc) ); + if (!funcs || !funcs->p_wglGetExtensionsStringARB) return STATUS_NOT_IMPLEMENTED; + ret = funcs->p_wglGetExtensionsStringARB( ULongToPtr(params->hdc) ); + return return_wow64_string( ret, ¶ms->ret ); +} + static NTSTATUS wow64_ext_wglGetPixelFormatAttribfvARB( void *args ) { struct diff --git a/dlls/opengl32/unix_thunks.h b/dlls/opengl32/unix_thunks.h index ddd20e693e5..4568018ee09 100644 --- a/dlls/opengl32/unix_thunks.h +++ b/dlls/opengl32/unix_thunks.h @@ -76,8 +76,6 @@ extern NTSTATUS ext_glUnmapNamedBufferEXT( void *args ); extern NTSTATUS wow64_ext_glUnmapNamedBufferEXT( void *args ); extern NTSTATUS ext_wglCreatePbufferARB( void *args ); extern NTSTATUS wow64_ext_wglCreatePbufferARB( void *args ); -extern NTSTATUS ext_wglGetExtensionsStringARB( void *args ); -extern NTSTATUS wow64_ext_wglGetExtensionsStringARB( void *args ); extern NTSTATUS ext_wglGetExtensionsStringEXT( void *args ); extern NTSTATUS wow64_ext_wglGetExtensionsStringEXT( void *args ); extern NTSTATUS ext_wglGetPbufferDCARB( void *args ); diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 369c8f0a992..7b9ad090b35 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -1540,25 +1540,6 @@ NTSTATUS wow64_ext_glPathGlyphIndexRangeNV( void *args ) return status; }
-NTSTATUS wow64_ext_wglGetExtensionsStringARB( void *args ) -{ - struct - { - PTR32 teb; - PTR32 hdc; - PTR32 ret; - } *params32 = args; - struct wglGetExtensionsStringARB_params params = - { - .teb = get_teb64(params32->teb), - .hdc = ULongToPtr(params32->hdc), - }; - NTSTATUS status; - - if ((status = ext_wglGetExtensionsStringARB( ¶ms ))) return status; - return return_wow64_string( params.ret, ¶ms32->ret ); -} - NTSTATUS wow64_ext_wglGetExtensionsStringEXT( void *args ) { struct