Henri Verbeet : d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetStreamSource ().

Alexandre Julliard julliard at winehq.org
Mon Apr 30 14:13:07 CDT 2012


Module: wine
Branch: master
Commit: 9936ec0c1c0bb9facae4008be2c6f1c99b138857
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9936ec0c1c0bb9facae4008be2c6f1c99b138857

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Sun Apr 29 20:52:03 2012 +0200

d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetStreamSource().

---

 dlls/d3d9/device.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index e497ce7..3d8642d 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -2492,6 +2492,7 @@ static HRESULT WINAPI IDirect3DDevice9Impl_GetStreamSource(IDirect3DDevice9Ex *i
 {
     IDirect3DDevice9Impl *This = impl_from_IDirect3DDevice9Ex(iface);
     struct wined3d_buffer *retStream = NULL;
+    IDirect3DVertexBuffer9Impl *buffer_impl;
     HRESULT hr;
 
     TRACE("iface %p, stream_idx %u, buffer %p, offset %p, stride %p.\n",
@@ -2505,7 +2506,8 @@ static HRESULT WINAPI IDirect3DDevice9Impl_GetStreamSource(IDirect3DDevice9Ex *i
     hr = wined3d_device_get_stream_source(This->wined3d_device, StreamNumber, &retStream, OffsetInBytes, pStride);
     if (SUCCEEDED(hr) && retStream)
     {
-        *pStream = wined3d_buffer_get_parent(retStream);
+        buffer_impl = wined3d_buffer_get_parent(retStream);
+        *pStream = &buffer_impl->IDirect3DVertexBuffer9_iface;
         IDirect3DVertexBuffer9_AddRef(*pStream);
         wined3d_buffer_decref(retStream);
     }




More information about the wine-cvs mailing list