RE: d3d9: Set IDirect3DDevice9Impl_GetVertexShader return value to NULL on error

2008-12-23 Thread Stefan Dösinger
Hi,

Please write a test for this. This behavior differs from function to
function unfortunately. Some functions do not set the value to NULL, and
some apps depend on this.

I think dlls/d3d9/tests/shader.c is a good place to put this test.

-Original Message-
 From: wine-patches-boun...@winehq.org [mailto:wine-patches-
 boun...@winehq.org] On Behalf Of Vincent Pelletier
 Sent: Monday, December 22, 2008 11:25 PM
 To: wine-patches
 Subject: d3d9: Set IDirect3DDevice9Impl_GetVertexShader return value to
 NULL on error
 
 When IWineD3DDevice_GetVertexShader fails, set *ppShader to NULL.
 
 This fixes Black  White 2 here: it used to crash right when first
 level intro video ended, before seeing the level. With this patch I can
 play a bit (though there are some graphical glitches remaining, mouse
 it not so
 smooth...)
 
 --
 Vincent Pelletier





Re: d3d9: Set IDirect3DDevice9Impl_GetVertexShader return value to NULL on error

2008-12-23 Thread Henri Verbeet
2008/12/23 Stefan Dösinger ste...@codeweavers.com:
 Hi,

 Please write a test for this. This behavior differs from function to
 function unfortunately. Some functions do not set the value to NULL, and
 some apps depend on this.

 I think dlls/d3d9/tests/shader.c is a good place to put this test.

No, this patch is obviously correct.



RE: d3d9: Set IDirect3DDevice9Impl_GetVertexShader return value to NULL on error

2008-12-23 Thread Stefan Dösinger
 No, this patch is obviously correct.
Hmm right, the code treats pShader == NULL as 'failure'. Looking at the WineD3D 
code, it would only fail if ppShader == NULL, which would moot the point of 
setting *ppShader to NULL anyway.

My bad in this case