Stefan Dösinger : ddraw: Search for d3d primary a bit differently.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Apr 30 07:11:16 CDT 2007


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Apr 23 23:00:29 2007 +0200

ddraw: Search for d3d primary a bit differently.

---

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

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 8b8308a..0194736 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2341,7 +2341,8 @@ IDirectDrawImpl_CreateSurface(IDirectDraw7 *iface,
         LIST_FOR_EACH(entry, &This->surface_list)
         {
             surface = LIST_ENTRY(entry, IDirectDrawSurfaceImpl, surface_list_entry);
-            if(surface->surface_desc.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
+            if((surface->surface_desc.ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_FRONTBUFFER)) ==
+               (DDSCAPS_PRIMARYSURFACE | DDSCAPS_FRONTBUFFER))
             {
                 /* found */
                 target = surface;
@@ -2351,7 +2352,7 @@ IDirectDrawImpl_CreateSurface(IDirectDraw7 *iface,
         }
 
         TRACE("(%p) Attaching a D3DDevice, rendertarget = %p\n", This, target);
-        hr = IDirectDrawImpl_AttachD3DDevice(This, target->first_complex);
+        hr = IDirectDrawImpl_AttachD3DDevice(This, target);
         if(hr != D3D_OK)
         {
             ERR("IDirectDrawImpl_AttachD3DDevice failed, hr = %x\n", hr);
@@ -2636,7 +2637,7 @@ D3D7CB_CreateRenderTarget(IUnknown *device, IUnknown *pSuperior,
                           HANDLE* pSharedHandle)
 {
     ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, device);
-    IDirectDrawSurfaceImpl *d3dSurface = This->d3d_target->first_complex, *target = NULL;
+    IDirectDrawSurfaceImpl *d3dSurface = This->d3d_target, *target = NULL;
     TRACE("(%p) call back\n", device);
 
     if(d3dSurface->isRenderTarget)




More information about the wine-cvs mailing list