On Sunday 25 January 2009 12:39:22 Dmitry Timoshkov wrote: > "Guillaume SH" <gsh.debianli...@gmail.com> wrote: > > As I'm following wine only for a short time (count in months, not in > > years) I guess reproducing windows unfixed defects is a choice > > (although I am not sure this decision comes from consensus or from a > > boss statement) made by wine team. > > That comes from a simple understanding that win32 API behaviour > is defined by Microsoft, not by anybody else. Having a NULL check, > or even an exception handler in an API is not fix for a defect as > you might imply, that's actually good that applications crash when > they pass invalid data. Wine needs to handle invalid case only when > Windows does have them, and only if there are applications depending > on that behaviour. > > If you whish to "fix" win32 API, make Microsoft hire you. What about an assertion right before the following line: *lpTransferred = lpOverlapped->InternalHigh;
This way it will still "crash" in the same circumstances, but will make it easier to debug programs.