wined3d: Make a copy of gl_info for later context_destroy_gl_resources() usage.

This commit is contained in:
Matteo Bruni 2011-11-15 14:21:08 +01:00 committed by Alexandre Julliard
parent 148e6c3a3c
commit 1fd18d7688

View file

@ -1027,6 +1027,7 @@ BOOL context_set_current(struct wined3d_context *ctx)
{
TRACE("Switching away from destroyed context %p.\n", old);
context_destroy_gl_resources(old);
HeapFree(GetProcessHeap(), 0, (void *)old->gl_info);
HeapFree(GetProcessHeap(), 0, old);
}
else
@ -1603,6 +1604,11 @@ void context_destroy(struct wined3d_device *device, struct wined3d_context *cont
}
else
{
/* Make a copy of gl_info for context_destroy_gl_resources use, the one
in wined3d_adapter may go away in the meantime */
struct wined3d_gl_info *gl_info = HeapAlloc(GetProcessHeap(), 0, sizeof(*gl_info));
*gl_info = *context->gl_info;
context->gl_info = gl_info;
context->destroyed = 1;
destroy = FALSE;
}