ddraw fix for incorrect return value from wined3d take 3.

Roderick Colenbrander thunderbird2k at gmx.net
Sat Aug 12 04:28:53 CDT 2006


Hi,

One small comment regarding your patch make sure that you use the same indentation as the rest of the ddraw code. The ddraw code seems to use 4 spaces for a tab and I think your editor is configured to use tabs.

Regards,
Roderick Colenbrander

> The new test cases crashes under wine but not under
> windows. The fix for test cases crash is to initialize
> the vertexbuffer to NULL when unsuccessful.
> 
> This patch should be used rather then previous one.
> 
> thx
> 
Index: dlls/ddraw/direct3d.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/direct3d.c,v
retrieving revision 1.9
diff -u -r1.9 direct3d.c
--- dlls/ddraw/direct3d.c    9 Aug 2006 11:04:37 -0000    1.9
+++ dlls/ddraw/direct3d.c    11 Aug 2006 22:47:16 -0000
@@ -992,8 +992,11 @@
     {
         ERR("(%p) IWineD3DDevice::CreateVertexBuffer failed with hr=%08lx\n", This, hr);
         HeapFree(GetProcessHeap(), 0, object);
+    *VertexBuffer = NULL;
         if (hr == WINED3DERR_INVALIDCALL)
             return DDERR_INVALIDPARAMS;
+    if (hr == WINED3DERR_OUTOFVIDEOMEMORY)
+        return D3DERR_TOOMANYVERTICES;
         else
             return hr;
     }
-- 


Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer



More information about the wine-devel mailing list