summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2014-12-03 00:07:26 +0100
committerEmil Velikov <[email protected]>2015-01-22 22:16:18 +0000
commit0d2c22e64844e20f9a52bffe2b934079a4121886 (patch)
tree277ecd5d03a1b09d42d858f6613b7672c3ec0b2c /src/gallium/state_trackers
parent92321611787207f8f2c02a226c1370f85cb99573 (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.c2
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);