Message du 09/07/04 10:46 De : "Lionel Ulmer" A : "Andrei Barbu" Copie à : "Christian Costa" , "Marcus Meissner" , "Mike McCormack" , wine-devel@winehq.org Objet : Re: D3D8_GetCreationParameters fix On Thu, Jul 08, 2004 at 08:45:16PM -0400, Andrei Barbu wrote:
I agree on the docs, interestingly enough though, Chessmaster 9000 gives an invalid pointer (0x1) and there's a memory access error.
Works on Windows though, so I'm assuming DX might be allocating the memory on it's own.
When you mean 'works on Windows' is it Chessmaser 9000 or the fact that giving a bad pointer to this DX8 API call does not make the program crash ?
I think he means ChessMaster 9000.
Because to be sure to get your patch applied, the best way would be to understand WHY CM9000 gives this 0x1 pointer to the DX8 function. It may be due to a memory allocation error, some stack trashing, some other bugs in Wine, ...
Agreed.
So I fear that only doing some REing of the CM9000 code would help here.
This is the best things to do but the problem is not always obvious. If REing does not give significant result, I would suggest to check how the function behaves in windows and implement the same behaviour with maybe a big comment about ChessMaster 9000.
Bye, Christian
On Fri, Jul 09, 2004 at 11:06:54AM +0200, Christian Costa wrote:
I think he means ChessMaster 9000.
So the patch has no chances at all to be included in Wine by Alexandre knowing his stance on pointer checks in API functions...
This is the best things to do but the problem is not always obvious.
I agree that it's not always obvious, but well, it's the only way to really be sure of CM9000's behaviour.
If REing does not give significant result, I would suggest to check how the function behaves in windows and implement the same behaviour with maybe a big comment about ChessMaster 9000.
I would really find it strange to have such checks in DirectX, an API that is supposed to be fast (for example, I have a test program which gives you a nice BSOD just because I forgot to set a pointer to a value different from NULL).
These kind of checks should only present in the 'debug' release of the D3D DLL which should do a lot of additionnal checks.
Lionel