diff options
author | Axel Davy <[email protected]> | 2014-12-03 00:07:26 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2015-01-22 22:16:18 +0000 |
commit | 0d2c22e64844e20f9a52bffe2b934079a4121886 (patch) | |
tree | 277ecd5d03a1b09d42d858f6613b7672c3ec0b2c /src/gallium/state_trackers | |
parent | 92321611787207f8f2c02a226c1370f85cb99573 (diff) |
st/nine: Fix crash when deleting non-implicit swapchain
The implicit swapchains are destroyed when the device instance is
destroyed. However for non-implicit swapchains, it is not the case,
and the application can have kept an reference on the swapchain
buffers to reuse them.
Fixes problems with battle.net launcher.
Cc: "10.4" <[email protected]>
Tested-by: Nick Sarnie <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: David Heidelberg <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r-- | src/gallium/state_trackers/nine/swapchain9.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/swapchain9.c b/src/gallium/state_trackers/nine/swapchain9.c index bf87aaf042e..24ff905cd14 100644 --- a/src/gallium/state_trackers/nine/swapchain9.c +++ b/src/gallium/state_trackers/nine/swapchain9.c @@ -467,7 +467,7 @@ NineSwapChain9_dtor( struct NineSwapChain9 *This ) if (This->buffers) { for (i = 0; i < This->params.BackBufferCount; i++) { - NineUnknown_Destroy(NineUnknown(This->buffers[i])); + NineUnknown_Release(NineUnknown(This->buffers[i])); ID3DPresent_DestroyD3DWindowBuffer(This->present, This->present_handles[i]); if (This->present_buffers) pipe_resource_reference(&(This->present_buffers[i]), NULL); |