diff --git a/src/gallium/auxiliary/vl/vl_winsys_win32.c b/src/gallium/auxiliary/vl/vl_winsys_win32.c index b4f7aefe1a4..349e610ba69 100644 --- a/src/gallium/auxiliary/vl/vl_winsys_win32.c +++ b/src/gallium/auxiliary/vl/vl_winsys_win32.c @@ -78,6 +78,8 @@ vl_win32_screen_create(LUID *adapter) return &vscreen->base; release_pipe: + if(winsys) + winsys->destroy(winsys); vl_win32_screen_destroy(&vscreen->base); return NULL; } @@ -106,6 +108,8 @@ vl_win32_screen_create_from_d3d12_device(IUnknown* d3d12_device) return &vscreen->base; release_pipe: + if(winsys) + winsys->destroy(winsys); vl_win32_screen_destroy(&vscreen->base); return NULL; }