diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index 9b20d87aea7..ae04138d4f3 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -1136,12 +1136,13 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer) const struct wined3d_gl_info *gl_info; struct wined3d_context *context; - if (buffer->buffer_type_hint == GL_ELEMENT_ARRAY_BUFFER_ARB) - device_invalidate_state(device, STATE_INDEXBUFFER); - context = context_acquire(device, NULL); gl_info = context->gl_info; + ENTER_GL(); + + if (buffer->buffer_type_hint == GL_ELEMENT_ARRAY_BUFFER_ARB) + context_invalidate_state(context, STATE_INDEXBUFFER); GL_EXTCALL(glBindBufferARB(buffer->buffer_type_hint, buffer->buffer_object)); if (gl_info->supported[ARB_MAP_BUFFER_RANGE])