diff options
Diffstat (limited to 'src/mesa/drivers/windows/gdi/wmesa.c')
-rw-r--r-- | src/mesa/drivers/windows/gdi/wmesa.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/drivers/windows/gdi/wmesa.c b/src/mesa/drivers/windows/gdi/wmesa.c index 1ddea33e35c..80746950c71 100644 --- a/src/mesa/drivers/windows/gdi/wmesa.c +++ b/src/mesa/drivers/windows/gdi/wmesa.c @@ -56,11 +56,13 @@ wmesa_free_framebuffer(HDC hdc) prev = pwfb; } if (pwfb) { + struct gl_framebuffer *fb; if (pwfb == FirstFramebuffer) FirstFramebuffer = pwfb->next; else prev->next = pwfb->next; - _mesa_unreference_framebuffer(&pwfb->Base); + fb = &pwfb->Base; + _mesa_unreference_framebuffer(&fb); } } @@ -1503,6 +1505,9 @@ WMesaContext WMesaCreateContext(HDC hDC, ctx = &c->gl_ctx; _mesa_initialize_context(ctx, visual, NULL, &functions, (void *)c); + /* visual no longer needed - it was copied by _mesa_initialize_context() */ + _mesa_destroy_visual(visual); + _mesa_enable_sw_extensions(ctx); _mesa_enable_1_3_extensions(ctx); _mesa_enable_1_4_extensions(ctx); |