[PATCH 3/6] ddrawex: Directly return the ddraw surface in IDirectDraw4Impl_GetSurfaceFromDC().

Henri Verbeet hverbeet at codeweavers.com
Mon Mar 29 06:31:08 CDT 2010


This looks very broken, of course. Nevertheless, that's how native ddrawex
behaves. Tests follow.
---
 dlls/ddrawex/ddraw.c |   13 +------------
 1 files changed, 1 insertions(+), 12 deletions(-)

diff --git a/dlls/ddrawex/ddraw.c b/dlls/ddrawex/ddraw.c
index 4c757ec..8c6b937 100644
--- a/dlls/ddrawex/ddraw.c
+++ b/dlls/ddrawex/ddraw.c
@@ -1320,20 +1320,9 @@ IDirectDraw4Impl_GetSurfaceFromDC(IDirectDraw4 *iface,
                                   IDirectDrawSurface4 **Surface)
 {
     IDirectDrawImpl *This = impl_from_dd4(iface);
-    IDirectDrawSurface4 *inner;
     HRESULT hr;
     TRACE("(%p)->(%p, %p)\n", This, hdc, Surface);
-    hr = IDirectDraw4_GetSurfaceFromDC(This->parent,hdc, &inner);
-    if(SUCCEEDED(hr))
-    {
-        *Surface = dds_get_outer(inner);
-        IDirectDrawSurface4_AddRef(*Surface);
-        IDirectDrawSurface4_Release(inner);
-    }
-    else
-    {
-        *Surface = NULL;
-    }
+    hr = IDirectDraw4_GetSurfaceFromDC(This->parent,hdc, Surface);
 
     return hr;
 }
-- 
1.6.4.4




More information about the wine-patches mailing list