RE: d3d9: Set IDirect3DDevice9Impl_GetVertexShader return value to NULL on error
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-bounces(a)winehq.org [mailto:wine-patches- bounces(a)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
2008/12/23 Stefan Dösinger <stefan(a)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.
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
participants (2)
-
Henri Verbeet -
Stefan Dösinger