st/nine: Detach buffers in swapchain dtor.
authorAxel Davy <axel.davy@ens.fr>
Sat, 3 Dec 2016 17:58:00 +0000 (18:58 +0100)
committerAxel Davy <axel.davy@ens.fr>
Tue, 20 Dec 2016 22:47:08 +0000 (23:47 +0100)
BackBuffers can survive swapchain dtor if
the user has a reference on them.

The swapchain itself has no reference on the buffer.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
src/gallium/state_trackers/nine/swapchain9.c

index feaece2f77f25bd697d8912bc3aa605b4d901da3..9815acf7a4a7007497c1b2fad063e45ad1607855 100644 (file)
@@ -508,7 +508,7 @@ NineSwapChain9_dtor( struct NineSwapChain9 *This )
 
     for (i = 0; i < This->num_back_buffers; i++) {
         if (This->buffers[i])
-            NineUnknown_Release(NineUnknown(This->buffers[i]));
+            NineUnknown_Detach(NineUnknown(This->buffers[i]));
         if (This->present_handles[i])
             ID3DPresent_DestroyD3DWindowBuffer(This->present, This->present_handles[i]);
         if (This->present_buffers[i])