diff --git a/gfx/d3d/d3d.cpp b/gfx/d3d/d3d.cpp index 427f495bb5..26d1943840 100644 --- a/gfx/d3d/d3d.cpp +++ b/gfx/d3d/d3d.cpp @@ -851,6 +851,10 @@ static void d3d_free(void *data) d3d_free_overlays(d3d); #endif +#ifdef _XBOX + gfx_ctx_free(d3d); +#else + #ifdef HAVE_MENU d3d_free_overlay(d3d, d3d->menu); #endif diff --git a/gfx/drivers/gl.c b/gfx/drivers/gl.c index cd62234c60..17f24ca023 100644 --- a/gfx/drivers/gl.c +++ b/gfx/drivers/gl.c @@ -1806,6 +1806,8 @@ static void gl_free(void *data) } #endif + gfx_ctx_free(gl); + free(gl->empty_buf); free(gl->conv_buffer); free(gl); diff --git a/gfx/drivers/vg.c b/gfx/drivers/vg.c index 1bd80ea479..505ba2bc68 100644 --- a/gfx/drivers/vg.c +++ b/gfx/drivers/vg.c @@ -202,6 +202,8 @@ static void vg_free(void *data) vgDestroyPaint(vg->mPaintBg); } + gfx_ctx_free(vg); + free(vg); } diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 80e8ac30f1..74a263b9bd 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -17,7 +17,6 @@ #include #include #include "video_driver.h" -#include "video_context_driver.h" #include "video_thread_wrapper.h" #include "video_pixel_converter.h" #include "video_monitor.h" @@ -415,9 +414,6 @@ void uninit_video_input(void) ) input_driver_free(); - if (driver->video_context && driver->video_data) - gfx_ctx_free(driver->video_data); - if ( !driver->video_data_own && driver->video_data &&