[PATCH 5/8] ddraw: AddViewport holds a reference to the viewport

Stefan Dösinger stefan at codeweavers.com
Sat Jan 26 06:39:46 CST 2013


---
 dlls/ddraw/device.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index a65df42..ace6a12 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -765,6 +765,7 @@ static HRESULT WINAPI d3d_device3_AddViewport(IDirect3DDevice3 *iface, IDirect3D
         return DDERR_INVALIDPARAMS;
 
     wined3d_mutex_lock();
+    IDirect3DViewport3_AddRef(viewport);
     list_add_head(&device->viewport_list, &vp->entry);
     /* Viewport must be usable for Clear() after AddViewport, so set active_device here. */
     vp->active_device = device;
@@ -835,6 +836,8 @@ static HRESULT WINAPI d3d_device3_DeleteViewport(IDirect3DDevice3 *iface, IDirec
     vp->active_device = NULL;
     list_remove(&vp->entry);
 
+    IDirect3DViewport3_Release(viewport);
+
     wined3d_mutex_unlock();
 
     return D3D_OK;
-- 
1.7.12.4




More information about the wine-patches mailing list