From: Rémi Bernon rbernon@codeweavers.com
--- dlls/opengl32/unix_wgl.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index ddc1af68d87..a410321994d 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -2043,15 +2043,20 @@ static NTSTATUS wow64_gl_unmap_buffer( void *args, NTSTATUS (*gl_unmap_buffer64) GLenum target; GLboolean ret; } *params32 = args; + struct glUnmapBuffer_params params = + { + .teb = get_teb64(params32->teb), + .target = params32->target, + .ret = TRUE, + }; NTSTATUS status; - TEB *teb = get_teb64( params32->teb ); - struct glUnmapBuffer_params params = { teb, params32->target, params32->ret };
- if (!(ptr = get_buffer_pointer( teb, params32->target ))) return STATUS_SUCCESS; + if (!(ptr = get_buffer_pointer( params.teb, params.target ))) return STATUS_SUCCESS;
- status = wow64_unmap_buffer( ptr, get_buffer_param( teb, params32->target, GL_BUFFER_MAP_LENGTH ), - get_buffer_param( teb, params32->target, GL_BUFFER_ACCESS_FLAGS ) ); + status = wow64_unmap_buffer( ptr, get_buffer_param( params.teb, params.target, GL_BUFFER_MAP_LENGTH ), + get_buffer_param( params.teb, params.target, GL_BUFFER_ACCESS_FLAGS ) ); gl_unmap_buffer64( ¶ms ); + params32->ret = params.ret;
return status; }